A small executable that allows to connect old osu! clients without -devserver support to private servers, without any permanent modifications to the client.
Titanic! Hook supports any osu! (stable) client released since 2008.
Caution
Titanic! Hook is NOT compatible with the new osu!auth anti-cheat used since 2021. The game will automatically close if you try to use it in such clients.
Titanic! Hook uses Harmony to alter the behavior of the client in order to redirect traffic to another server and patch some issues. It uses Reflection and IL reading to find target methods, so it's version-agnostic.
Throw in the release executable for the correct .NET Framework version to the osu! directory. A configuration file will be automatically created. The .NET Framework 4 loader executable should be compatible with osu! versions that use .NET Framework 2.0, however if you encounter any issues - try to use the .NET Framework 2.0 build and report an issue!
Tip
osu! versions before 2015 ran on .NET Framework 2.0. Cuttingedge since April 2015 and Stable since November 2015 use .NET Framework 4.
The configuration file is pretty self-explanatory, and you most likely don't need to touch it. It will automatically use titanic.sh as the server, however you can use any server that supports the client that you are using.
Tip
The IP address for Bancho in clients that use TCP (b20130815 and older) is resolved using the first DNS A record for the server subdomain, for example server.titanic.sh.
- Clone the repository including submodules
- Build HookLoader in the Release configuration
- In the build output directory you will get a
Titanic!_merged.exethat contains all dependencies built-in
- (Optional) Attach your IDE's debugger to osu!.exe. This will allow you to set breakpoints while debugging Titanic! Hook
- Run TestInjector, which will inject Titanic! Hook into osu!
This project is licensed under the GNU GPLv3 or later license. It would be greatly appreciated to change the Titanic! branding before redistribution.