TribesNext Patch for Loki Port on Linux
I have created an prototype patch that allows running Tribes 2 with TribesNext on 64-bit Ubuntu. I created this patch so that people with Linux could use one of my favorite FPS games aka Tribes 2. This patch will likely not be compatible with any TribesNext updates, but I can update the code manually if needed. The patch file has no original Tribes 2 code in it, but it contains the TribesNext patch. Please note that this is not the official patch. It will likely not officially be supported by the TribesNext developers. The code inside falls under the original applicable Licenses of TribesNext and Tribes 2. It uses bsdiff and bspatch to patch the Tribes 2 files so that my code doesn't violate the Tribes 2/TribesNext Licenses.
If anyone wants me to change the way the code is patched/remove files that shouldn't be in the patch, please let me know as soon as possible so that I can fix it. Most of the patch is in X86 Assembly Language and ruby. If you choose to use this patch you agree to not hold me/TribesNext/Thyth/The Community responsible if anything goes wrong with anything. Examples include data loss, lost homework, random reboots, overheating GPU, etc. None of those should happen with this patch, but I can't test it on every possible computer.
The patch requires ia32-libs on ubuntu, a recent graphics driver for your video card, and bsdiff/bspatch. Please read the READFIRST/READMEFIRST file inside the extracted folder before doing anything. It is a little complicated to install, so if you know anyone who is good with a Linux shell, you might want to ask them for help. After you install the patch, don't ever run any of the Loki updaters, they will break the install.
If you agree to the above, you can download the patch from here: https://dl.dropbox.com/s/g02o5oa2d1gecnk/t2patch.tar
Hopefully this patch will work for you and will show more people with Linux how Tribes 2 is a great FPS game.
Moderators/Admins: Feel free to remove this post if it contains anything that is not correct/against the rules. If you want, you can edit it too.
If anyone wants me to change the way the code is patched/remove files that shouldn't be in the patch, please let me know as soon as possible so that I can fix it. Most of the patch is in X86 Assembly Language and ruby. If you choose to use this patch you agree to not hold me/TribesNext/Thyth/The Community responsible if anything goes wrong with anything. Examples include data loss, lost homework, random reboots, overheating GPU, etc. None of those should happen with this patch, but I can't test it on every possible computer.
The patch requires ia32-libs on ubuntu, a recent graphics driver for your video card, and bsdiff/bspatch. Please read the READFIRST/READMEFIRST file inside the extracted folder before doing anything. It is a little complicated to install, so if you know anyone who is good with a Linux shell, you might want to ask them for help. After you install the patch, don't ever run any of the Loki updaters, they will break the install.
If you agree to the above, you can download the patch from here: https://dl.dropbox.com/s/g02o5oa2d1gecnk/t2patch.tar
Hopefully this patch will work for you and will show more people with Linux how Tribes 2 is a great FPS game.
Moderators/Admins: Feel free to remove this post if it contains anything that is not correct/against the rules. If you want, you can edit it too.
Comments
As a side note, I've done something similar here but with a different approach. Mine was incredibly hacky and didn't correctly decrypt client keys so you had to store your key, already decrypted on the local machine. However, it did work properly when attempting to join a TribesNext server.
In the end, though, the game works just fine underneath of WINE with the proper hackery as outlined in this thread. In my case, running it in WINE actually works better because the actual Linux client isn't working with sound.
If none of the above steps work, try uncommenting the debug console line in base/t2csri/glue.cs and post the console log before the stack dump.
Thanks for testing this. Hopefully these steps will help.
Edit:
Using the "aoss ./runtribesnext.sh" command works, but it does not appear music playback works nor could you really adjust the volume ingame.
AUDIO - If audio doesn't work
It usually mentions that it can't find /dev/dsp in the terminal, which is for the outdated OSS. You need to use ALSA's emulation of oss ("ALSA-OSS").
*Make sure these packages are installed:
alsa-utils
alsa-oss
*As ROOT run:
modprobe snd-pcm-oss
ln -s /dev/dsp1 /dev/dsp
Really the second line is a symbolic link because the game is looking for /dev/dsp , but it may show up as dsp1, dsp2, dsp3, and so on. If that works in getting the sound back, since that setup is erased every system boot, make it permanent by putting it (as ROOT) in:
/etc/rc.d/rc.local
FULLSCREEN STRETCHED
KILL tribenext process while running to get fullscreen stretched view, in case you get bored of the square view with black borders on the sides. Accidents are wonderful aren't they! (Specifically, I typed in the wrong login password, and I had to kill it via terminal (CTRL+ALT+F4 ; ALT+F7 to get back).
SERVER PATCH CHECKS
Some servers (really 1 I found) run a ridiculous patch check or something, meaning if you don't have the same TribesNext patch, you can't play on the server (you CAN spectate). That or it's an actual file check and then you really can't do anything about it. I don't think it's worth updating anything to fix this, if it's even possible. The bots are advanced enough anyway.
I guess the RC2 patch is ok considering the dates of everything.
***That means I'm missing tournamentNetClient.vl2 found here:
http://www.t2forums.com/index.php?topic=166.0
And I also stumbled upon the anti-cheat script: http://thyth.com/tn/checkver.cs
Thanks for the info! Found everything from there.