Experimental RC2 Support for Linux/Wine and MacOSX/Crossover Users

This is an experimental release of a compatibility restoration patch for TribesNext under Wine.

To use this, follow these instructions:
1) Install the game from the GameSpy Installer (as you would in Windows).
2) Install the TribesNext RC2 patch on top of the game (as you would in Windows).
3) Copy msvcrt-ruby187.dll from the archive into .wine/drive_c/Dynamix/Tribes2/GameData/ and delete msvcrt-ruby190.dll that is in the same directory.
4) Overwrite .wine/drive_c/Dynamix/Tribes2/GameData/rubyintersect.dll with the one provided in this archive.
5) Launch the game normally.

This patch reverts the internal embedded interpreter version to Ruby 1.8.7 from Ruby 1.9.0 (which deadlocked in Wine, stopping the game from initializing); it also modifies the interpreter connector to work around the finicky requirements of the Ruby 1.8.7 code (which prompted the change to 1.9.0 in the first place).

All of the patch features should be functional, including creation of accounts under Wine, logging in, joining games, hosting games, and so forth. Please report back if you have difficulties doing any of those things.

While this modified patch can be applied to a Windows installation as well (which is where I did most of the client testing), nothing will be gained by doing so.
«1

Comments

  • I've been trying to test the patch on Linux, but I can't get any farther than the log-in screen for online.

    When I try to log in, it says my log in name or password was incorrect. Even after having someone else make a new account for me, the same result. I checked and rechecked several times over that everything was correct.

    When I try to make a new account myself, at Step One, it says "Please wait as the server status is checked" for a while, then it says "The server address has not yet been retrieved. Close this page and try again in a moment."
  • I followed the steps exactly, but I get the, "your game is not running the patched executable" message when trying to create an account. My platform is Ubuntu 9.04 (x86) running wine-1.2-rc2.
  • Can you run an MD5 and/or SHA1 on the Tribes2.exe located in GameData? Sounds like the installer failed to apply the binary delta patch.

    Original values are:
    MD5(Tribes2.exe)= 188cbf910fa40e56b7c9382113e15cc9
    SHA1(Tribes2.exe)= 0e1af0b89ec571305fac241c8907987130f30bab

    Patched values are:
    MD5(Tribes2.exe)= 766bc1bd4fde4c59f44093df8bbefa6b
    SHA1(Tribes2.exe)= 55cdfe2b360233def9a06a7a45ce8df3a319cbfb
  • [tt]jharris@jd:~/.wine/drive_c/Dynamix/Tribes2/GameData$ md5sum Tribes2.exe
    766bc1bd4fde4c59f44093df8bbefa6b Tribes2.exe
    jharris@jd:~/.wine/drive_c/Dynamix/Tribes2/GameData$ sha1sum Tribes2.exe
    55cdfe2b360233def9a06a7a45ce8df3a319cbfb Tribes2.exe
    [/tt]
  • [tt]jharris@jd:~/.wine/drive_c/Dynamix/Tribes2/GameData$ md5sum Tribes2.exe
    766bc1bd4fde4c59f44093df8bbefa6b Tribes2.exe
    jharris@jd:~/.wine/drive_c/Dynamix/Tribes2/GameData$ sha1sum Tribes2.exe
    55cdfe2b360233def9a06a7a45ce8df3a319cbfb Tribes2.exe
    [/tt]

    I can confirm the same hashes under ubuntu 10.04 with wine 1.2-rc4
  • edited June 2010
    Sorry about not putting the most important part: the wine version.

    For the test I tried above, I used wine-1.2-rc1, because theoretically (and I've sometimes found to be true) wine-1.2 is much more compatible with programs.

    However, it seems Tribes 2 is stuck at older versions of wine. I got through the log-in just fine with good old, long&tough-tested

    wine-1.1.11

    I have yet to test how long I can play online without an UE. I'll post again when I find out whether or not UE frequency is still ridiculous (it was usually at least 1 per map, with some maps doing them non-stop). Tell me if a specific UE number is important, as the crashes are often difficult to recover from.

    As for the "your game is not running the patched executable" message, I got that too at some points, but that was just because of the .cs.dso 's. Use a DSO-remover and it should at least get rid of that. However, I think you'll run into the same hitch I did, so you might wanna try wine-1.1.11 or a similar Tribes-2 compatible version (I'm not certain of all the versions that work, myself).

    EDIT: Played from 18:30 starting on map Mimicry, but it crashed at 18:48 on map Damnation with: "err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x3cd4d0" in the terminal, instantly, with no pop-up UE.

    Again at 18:58 on map Damnation, same instantaneous with no pop-up UE: "err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x3cd4d0
    err:seh:raise_exception Exception frame is not in stack limits => unable to dispatch exception.
    wine client error:9: write: Bad file descriptor"
  • I should clarify that this modified patch version only fixes the Wine incompatibility regression introduced between the RC1e and RC2 versions of the TribesNext patch, when I upgraded the Ruby interpreter version.

    The interpreter problem was a serious show stopper (game wouldn't launch), but certainly not the only issue leading to instability in the game. As I don't have source code to the game, I can't solve the larger problems caused by the differences in W32 API implementations between Windows proper and Wine. The most I can do is ensure that the code I add doesn't lead to additional problems.

    Nil is working on replacements for the script based TCP sockets, which are evidently a big source of unhandled exceptions when running in Wine (and used heavily in the TribesNext patch to implement account server interfaces, list server interfaces, IRC, and soon browser/mail). When I merge those changes, it may improve stability somewhat.

    As far as specific UEs, the only value of real interest is the address (in that case 0x3cd4d0), which states the machine-code instruction address that threw an exception. Unfortunately, without a full stack trace, and without the source code to the game, it's difficult (and very time consuming) to really do anything about the particular instabilities.
  • Ah, I see. In that case, the least I can do is test if I can Create a new account. So I did...

    I got all the way through Step Three of the process. On pushing the [Finish] button at Creating a new account, the game and mouse freeze up ->

    *Terminal:

    err:seh:setup_exception_record stack overflow 816 bytes in thread 001e eip f7c5e8e6 esp 00411000 stack 0x410000-0x411000-0x610000

    *Pop-Up UE:

    Unhandled exception: c0000094
    At address: 0042d8ae

    I could NOT log in with the account I tried to make, so the message did not get through to the Account server.

    Hope this helps, tell me if you need anything more tested, or if there's any logs I can send to give more information.
  • I have tried this method and it worked for me. Other than some issues during the initial log in the game has been stable in Linux....so far. :)

    See my post at the Legends forums regarding this.

    http://legendsthegame.net/forums/showpost.php?p=24501&postcount=3

    Main thread link.

    http://legendsthegame.net/forums/showthread.php?t=2619
  • yay for linux!
  • I have tried this method and it worked for me. Other than some issues during the initial log in the game has been stable in Linux....so far. :)

    See my post at the Legends forums regarding this.

    http://legendsthegame.net/forums/showpost.php?p=24501&postcount=3

    Main thread link.

    http://legendsthegame.net/forums/showthread.php?t=2619

    I'm sorry but it doesn't work for me. After installing Tribes 2 with the Tribes Next RC2a patch, I had to alternate between installations of wine-1.1.11 and wine-1.2-rc5, and I found that I can ONLY log in online with wine-1.1.11.

    Whenever I try to log in with wine-1.2-rc5, I get that the password is incorrect and to check the username/password, even though I set it to remember the exact same password with wine-1.1.11 (and it consistently did remember the correct password with wine-1.1.11 and the log-in went just fine). Oftentimes, the game also freezes up when trying to log-in with wine-1.2-rc5.

    I can NOT get past the authentication part, and it certainly won't allow me to retrieve the account properly either because "The password is not correct. Try again." So no retrieving my account and no log-in.
  • I'm sorry but it doesn't work for me. After installing Tribes 2 with the Tribes Next RC2a patch, I had to alternate between installations of wine-1.1.11 and wine-1.2-rc5, and I found that I can ONLY log in online with wine-1.1.11.

    Sorry to hear it did not work for you as well as it did for me. I update my Wine version with every new release so I will post back how my copy is doing. In the past I have seen numerous regressions and later fixes as Wine has progressed so I expect occasional issues as I update.

    (Thanks to Thyth for making the effort at supporting us Linux users BTW)

    BTW, enjoyed chatting and playing with you yesterday in Legends.
  • Sorry to hear it did not work for you as well as it did for me. I update my Wine version with every new release so I will post back how my copy is doing. In the past I have seen numerous regressions and later fixes as Wine has progressed so I expect occasional issues as I update.

    Yes, we can only hope each new wine version will help more than it'll break.
    (Thanks to Thyth for making the effort at supporting us Linux users BTW)

    Hear, hear! :D
    BTW, enjoyed chatting and playing with you yesterday in Legends.

    Likewise, though I'm not usually so free. It still amazes me :o , as I've been wishing for a true Tribes 2 remake since long, and here it is, as Legends! :D ;D But I'm wondering if it would be okay to take what was left over from failed Tribes 2 remakes, as at least RenWorks' Ascension released the code base for what they completed. Maybe it could help a bit? (Note, it might not be a good idea to discuss it here, in this thread... It's just food for thought). ;)
  • Are there any known issues with the new iMac computers running t2 ?
    If so what should I expect ? And a resolve for known issues ..
    Mac OS X v10.6 Snow Leopard
    * NVIDIA GeForce 9400M graphics processor with 256MB of DDR3 SDRAM shared with main memory3
    * ATI Radeon HD 4670 graphics processor with 256MB of GDDR3 memory
    * 3.06GHz Intel Core 2 Duo processor with 3MB shared L2 cache

    * 3.33GHz Intel Core 2 Duo processor with 6MB shared L2 cache
    just some specs on what I may get ....just wondering if anyone had any issues running t2 with this set? thanks
  • Just to let anyone know who is following this thread. I recently updated Wine to the latest release, 1.2, and so far no problems at all on Linux. I did see some problems with the rc versions just before this but this full version has worked flawlessly. Just spent about an hour and a half playing with no crashes.
  • edited August 2010
    I followed the steps exactly, but I get the, "your game is not running the patched executable" message when trying to create an account. My platform is Ubuntu 9.04 (x86) running wine-1.2-rc2.

    I can confirm this, Ubuntu 10.04. About to try again with an older build of wine.

    --Edit--
    Client seems to run fine under Wine 1, as opposed to the newer 1.2.

    Upon attempting to connect to a server running the experimental patch, this happens:
    Image
    And the client whines about either having an invalid account certificate, or receiving an invalid response from the server. I'll try running the server under different versions of Wine to see if anything changes.

    --2nd Edit --
    Server seems to run properly under Wine 1. Haven't tested for extended periods of time.
  • I assume in the script code that the Ruby interpreter is functioning properly. The runtime errors seem to indicate otherwise. If the Ruby interpreter is returning wonky data (during connection, those would be signature checks and SHA1 hashes), it's easily possible that the script will fail in strange ways.
  • Alright, I had a go at installing windows on my mac using boot camp but it did not work and it seems like it will be more of a headache then trying to get this workaround to work. I have installed T2 / rc2 again with crossover games and followed the instructions in this thread but T2 will not launch. The T2 icon shows up in the doc for a few secs then just goes away. What might my next steps be?
  • edited October 2010
    I'll check into the IRC channel to try and catch you Thyth, hopefully you can shed some light on my problem then.

    EDIT: Apex has helped me out on the IRC channel, I will be able to test his fix tonight but I think it will work. Thanks man!

    EDIT: Fix worked, thanks. See you online
  • Hi all,

    Here are my results:

    Dist: Ubuntu 10.10 amd64

    HW: P55 chipset - i5 cpu - nvgeforce 240gs


    wine 1.2

    Install procedure
    Install game:
    wine Downloads/tribes2gsi.exe
    wine Downloads/TribesNext_rc2a.exe

    Output folder: C:\Tribes2\GameData
    Patching console_start.cs.
    Copy to C:\Tribes2\GameData\console_start.cs.bak
    Rename: C:\Tribes2\GameData\Tribes2.exe->C:\Tribes2\GameData\Tribes2.exe.bak
    Extract: jpatch-w32.exe
    Extract: patch.bdiff
    Patching Tribes2.exe.
    Delete file: jpatch-w32.exe
    Delete file: patch.bdiff
    Installing everything else.
    Rename: C:\Tribes2\GameData\SierraUp.exe->C:\Tribes2\GameData\SierraUp.exe.bak
    Extract: SierraUp.exe
    Extract: t2csri_eula.txt
    Extract: t2dll.dll
    Extract: rubyintersect.dll
    We know you like it.
    Extract: msvcrt-ruby190.dll
    Output folder: C:\Tribes2\GameData\base
    Extract: T2csri.vl2
    Created uninstaller: C:\Tribes2\GameData\TN_Uninstall.exe
    Completed



    Copy msvcrt-ruby187.dll from the archive into .wine/drive_c/Dynamix/Tribes2/GameData/ and delete msvcrt-ruby190.dll that is in the same directory.
    Overwrite .wine/drive_c/Dynamix/Tribes2/GameData/rubyintersect.dll with the one provided in this archive.



    It starts
    At first it complained that my game wasnt running the patched executable.
    I closed the game, and reapplied the patched exe again.
    I then recopied the dlls from Thyth's ruby stuff
    deleted msvcrt-ruby190.dll again

    reran, this time got different result when trying to retrieve account
    "Credential download failed"

    tried this with both my accounts.

    same thing.

    now tried to create another account:
    first time "please wait as the server status is checked"
    got:
    "the server address has not yet been retrieved"

    then

    "the account server is OFFLINE and unreach...."

    hit cancel

    tried create account again

    now the shit works and says
    "the account server is online and connectable"

    so I continue through the process of making an account
    get to the end when i have chosen account name and pw
    UE c0000094
    at addr 0042d8e


    tried deleting dso files and doing all the above again... no dice

    open it again "your game is not running the patched exe"
    im like wtf at this point.. is it cos i deleted the dso files? yes.
    hmmm


    also tested with wine1.3 with same result.
    (deleted the .wine dir each time in reinstall wine)

    I am baffled. wtf could be wrong??

    its almost like the networking in T2 is hosed..

    what should I try next?

    ahh i know try wine1.0

    removed .wine dir in home folder
    removed wine1.3

    installed wine1.0

    Install procedure
    Install game:
    wine Downloads/tribes2gsi.exe
    wine Downloads/TribesNext_rc2a.exe

    Output folder: C:\Tribes2\GameData
    Patching console_start.cs.
    Copy to C:\Tribes2\GameData\console_start.cs.bak
    Rename: C:\Tribes2\GameData\Tribes2.exe->C:\Tribes2\GameData\Tribes2.exe.bak
    Extract: jpatch-w32.exe
    Extract: patch.bdiff
    Patching Tribes2.exe.
    Delete file: jpatch-w32.exe
    Delete file: patch.bdiff
    Installing everything else.
    Rename: C:\Tribes2\GameData\SierraUp.exe->C:\Tribes2\GameData\SierraUp.exe.bak
    Extract: SierraUp.exe
    Extract: t2csri_eula.txt
    Extract: t2dll.dll
    Extract: rubyintersect.dll
    We know you like it.
    Extract: msvcrt-ruby190.dll
    Output folder: C:\Tribes2\GameData\base
    Extract: T2csri.vl2
    Created uninstaller: C:\Tribes2\GameData\TN_Uninstall.exe
    Completed



    Copy msvcrt-ruby187.dll from the archive into .wine/drive_c/Dynamix/Tribes2/GameData/ and delete msvcrt-ruby190.dll that is in the same directory.
    Overwrite .wine/drive_c/Dynamix/Tribes2/GameData/rubyintersect.dll with the one provided in this archive.


    MOTHERFUCKING BINGO!!! YESSSS!!! YESSS!! IT WORKS!!! OMG THANKS!!!!! YEY!!!!!

    well I guess lesson learned... use wine1.0 if you want this game to run.
  • edited April 2011
    I'm running snow leopard, can't get this to work.


    I tried installing on a windows 7 virtual machine first, but i always get unhandled exceptions at launch.(c0000005 at adress 0000000) i'm still going through the troubleshooting there, but i'd rather play trough wine if possible.


    I did the installation as described here, everything appeared to go well, however when i go to launch nothing happens. is there something i have to do with wine? and what do you mean by "gamespy installer"?

    sorry if these are noob questions, i'm just really trying to make this work. i actually remember playing construction with thyth(wasn't it electrutioner back then?) years ago. good times.
  • The "gamespy installer" is the Tribes2_gsi.exe that you can find in the downloads section.

    The unhandled exception for win7 is probably because the VM doesn't have direct access to the GPU, so it likely didn't load a proper driver with support for OpenGL/D3D.

    Try running your wine based install via the terminal, and see what it cries about there...
    $ cd /path/to/Tribes2/GameData/
    $ wine ./Tribes2.exe -online
    
  • The "gamespy installer" is the Tribes2_gsi.exe that you can find in the downloads section.

    The unhandled exception for win7 is probably because the VM doesn't have direct access to the GPU, so it likely didn't load a proper driver with support for OpenGL/D3D.

    Try running your wine based install via the terminal, and see what it cries about there...
    $ cd /path/to/Tribes2/GameData/
    $ wine ./Tribes2.exe -online
    

    When i put in the file path to gamedata it just tells me that is a directory, and when i put in the next line it just says "command not found"
  • The "gamespy installer" is the Tribes2_gsi.exe that you can find in the downloads section.

    The unhandled exception for win7 is probably because the VM doesn't have direct access to the GPU, so it likely didn't load a proper driver with support for OpenGL/D3D.

    Try running your wine based install via the terminal, and see what it cries about there...
    $ cd /path/to/Tribes2/GameData/
    $ wine ./Tribes2.exe -online
    

    When i put in the file path to gamedata it just tells me that is a directory, and when i put in the next line it just says "command not found"
    Make sure you point the cd command to the correct dirrectory. 'cd' means change directory, which is like navigating to that folder using finder.
    "command not found" probably means you do not have wine installed ocrrectly
  • this work fine...i have problem for locate that post. i think this must be up in search, or link to the index, for the linux player...
    i need 2 days search for locate...

    Thyth
    Apotheosis Incarnate

    Posts: 627

    View Profile

    June 17, 2010, 05:57:15 PM »

    This is an experimental release of a compatibility restoration patch for TribesNext under Wine.

    To use this, follow these instructions:
    1) Install the game from the GameSpy Installer (as you would in Windows).
    2) Install the TribesNext RC2 patch on top of the game (as you would in Windows).
    3) Copy msvcrt-ruby187.dll from the archive into .wine/drive_c/Dynamix/Tribes2/GameData/ and delete msvcrt-ruby190.dll that is in the same directory.
    4) Overwrite .wine/drive_c/Dynamix/Tribes2/GameData/rubyintersect.dll with the one provided in this archive.
    5) Launch the game normally.

    This patch reverts the internal embedded interpreter version to Ruby 1.8.7 from Ruby 1.9.0 (which deadlocked in Wine, stopping the game from initializing); it also modifies the interpreter connector to work around the finicky requirements of the Ruby 1.8.7 code (which prompted the change to 1.9.0 in the first place).

    All of the patch features should be functional, including creation of accounts under Wine, logging in, joining games, hosting games, and so forth. Please report back if you have difficulties doing any of those things.

    While this modified patch can be applied to a Windows installation as well (which is where I did most of the client testing), nothing will be gained by doing so.
    Attached files
    * TribesNext_RC2_LinuxVersion.zip (373.89 KB - downloaded 280 times.)
  • edited May 2011
    It's tricky to find all the right info right away, but here it's the first post, and it's stickied (always at the top of the Support forum). The only thing missing is a working wine version. So far, Wine-1.0 seems to run the best with the set-up. Others tend to give problems, or much more frequent UEs.

    It would be nice to have a link and instructions right on the official downloads page, specifically for Linux... (Get Wine 1.0 or Wine ___ , Get Tribes2gsi, etc.). I guess the same for Mac. Although, non-Windows users tend to be a bit more persistent than Windows users when trying to find something and get something to work (hence the 2 days... although I call that a bad search or a terrible connection).

    Best Wine versions (in order of best to worst):

    1) Wine-1.0
    2) Wine-1.1.11
    3) Wine-1.0.1
    4) Wine-1.2
  • Can someone please post the archive with ruby 1.8.7 and the other dll?

    Thanks
  • The archive is attached to the first post of this thread.
  • Um, how can I execute the bat file in wine, that's needed to run tribes? Cuz my wine does not recognize bat files... :(
  • Ok, I managed to start the game by opening a console at the gamedata directory -> wine cmd.exe then typing classic_online.bat in the command line.
    I can only report that the game runs fine until I attempt to join a server - then "invalid account certificate" error pops up... wine 1.0.1 & xubuntu with xfce 4.
Sign In or Register to comment.