TribesNext

TribesNext.com Forums => Support => Topic started by: Bob Barker on January 08, 2009, 03:44:59 AM



Title: The Linux Thread
Post by: Bob Barker on January 08, 2009, 03:44:59 AM
Since no one's started a Linux thread yet... I'll begin.

So I tested the installation on an up to date Debian Sid/Experimental with wine version wine-1.1.11-206-gad432bf (latest experimental package) and I was able to play Tribes 2 normally using the -nologin option but using the -online option the game will freeze upon the Garage Games logo.

If any developers want me to do further testing just reply to this thread, hopefully others will join in :)


Title: Re: The Linux Thread
Post by: altpersona on January 08, 2009, 11:00:13 AM
im on Ubuntu,

i already had a working tribes install.

i tried to install the patch w/ cxgames, but it wouldnt go..

i opened the patch exe w/ the archive manager and unzipped it into the /gamedata folder.

i can still run tribes 2 from my launcher but i dont see anything differnt.

this is just as the Known issues thread says...


Title: Re: The Linux Thread
Post by: Octopuss on January 08, 2009, 11:05:23 AM
I heard that Turkeh got T2 working under wine by altering some of the game's networking capabilities, but it's still a bit unstable.


Title: Re: The Linux Thread
Post by: Thyth on January 08, 2009, 11:45:42 AM
This is a known issue.

The T2 script system networking objects, for some reason have problems running under Wine. It's very likely a problem with an imperfect reimplementation of the WinSock API.

In the process of running the game online in client mode, the game almost immediately connects to this website to find the location of the authentication server. Account creation requires several network transfers with the authentication server. Once you log in, the listing code, and the old game IRC code initialize.

All of these are points of failure in Wine.

Turkeh is working on shifting those networking operations to the Ruby interpreter, thus avoiding the game specific networking glitches. Until that's complete, there isn't very much you can do, short of stripping out all of the networking enabled scripts.


Title: Re: The Linux Thread
Post by: Elliotw2 on January 08, 2009, 01:50:05 PM
Couldn't you make a patch that works with the existing version of Tribes 2 from Loki?


Title: Re: The Linux Thread
Post by: Krash on January 08, 2009, 04:19:47 PM
Not in the same fashion, and not while we're occupied with bringing the core up to spec, but it may come up in time once it's better established. :)


Title: Re: The Linux Thread
Post by: Thyth on January 08, 2009, 05:44:24 PM
Loki's port provides a much worse experience than running the Windows version under Wine.

If we can get these crashes resolved by moving network operations to the Ruby interpreter, we will go that route.


Title: Re: The Linux Thread
Post by: Plexor on January 17, 2009, 03:00:48 AM
I am also very interested in running this in Linux.  I am running Debian sid as well as Ubuntu 8.10.  Please make it work, please please please.... it always freezes for me when it reaches the login screen.  I even tried compiling the latest SVN of wine... same problem.


Title: Re: The Linux Thread
Post by: admax88 on January 18, 2009, 01:40:27 PM
I would also be very interested in playing on linux.  I just tested the patch using wine-1.1.12 on amd64.  With the -online option the game froze during the GarageGames splash screen just as others had reported.


Title: Re: The Linux Thread
Post by: Mr_H on January 18, 2009, 05:40:48 PM
I've been told that T2 will work on Ubuntu 8.04, but some libraries in 8.10 'broke' the game.

I wish I knew what to fix, I'd like to run a server off my linux box.


Title: Re: The Linux Thread
Post by: admax88 on January 18, 2009, 06:25:00 PM
I've been told that T2 will work on Ubuntu 8.04, but some libraries in 8.10 'broke' the game.

I wish I knew what to fix, I'd like to run a server off my linux box.

I don't know the specifics of Ubuntu releases, but on my gentoo system I can run T2 just fine.  Except when using the modified Tribes  Next executable.  I keep my system fairly up to date, so I imagine if you update to a recent ubuntu release you should be able to get T2 running.  However a solution is found for online mode freezing with the Tribes Next executable you'll be stuck with offline mode.


Title: Re: The Linux Thread
Post by: Mr_H on January 18, 2009, 07:03:09 PM
Sorry, my bad.  The person who told me it stopped working said "It stopped working on Ubuntu 8.04."  My server is 8.10... :/


Title: Re: The Linux Thread
Post by: terracon on January 18, 2009, 08:32:48 PM
To get Tribes 2 working Ubuntu and Fedora and I would say most other modern distro's. You need to download the Loki compat libraries.  Go here http://www.swanson.ukfsn.org/loki/  . Currently http://www.swanson.ukfsn.org/loki/loki_compat_libs-1.3.tar.bz2   seems to be the latest.

#!/bin/sh
export COMPAT=home/user/Download/Loki_Compat
export LD_PRELOAD=/$COMPAT/libstdc++-3-libc6.2-2-2.10.0.so:/$COMPAT/libSDL-1.2.so.0
cd /home/user/.loki/tribes2/base
for foo in `find . -name "*.dso"`; do rm -f $foo; done
/usr/local/games/tribes2/tribes2.dynamic -nologin


Here's my script I was using to load it up.  I hope this helps. I think. I had to install smpeg and SDL. Post back here if the game fires up for you.


Title: Re: The Linux Thread
Post by: Mr_H on January 19, 2009, 11:15:35 AM
Thanks to those libraries up there and a little bit of hacking around, I managed to get a T2 Linux Server installed from the Windows CD  (as soon as I make sure everythings working 100% I'll write up my notes).

The only problem I have now is that when I started the server (./tribes2d -dedicated) it starts...then exits out a little bit later with no other messages.    According to the FAQ this means it can't reach the authentication servers.  I made sure the port was open (28000), but it still errors out. 

I'm assuming this is all because the official auth servers are down then.  Anyone have suggestions for how to bypass this?

(Remember, it's a Linux Dedicated server, not a client or a windows server:) )

Thanks


Title: Re: The Linux Thread
Post by: Denthrax on January 19, 2009, 11:19:38 AM
Yeah have the same problem. Got it installed and working in LAN mode. But can't get it to work in online dedicated mode for TribesNext... guess it's the authentication (as win uses the ruby dll for tcp auth)


Title: Re: The Linux Thread
Post by: admax88 on January 23, 2009, 05:26:52 PM
I did some digging and I'm not sure its a problem with WINE's implementation of winsock2.  First of all I did a packet log when starting Tribes in online mode.  Both starting on windows and on linux under wine had the exact same internet traffic as viewed by the ethernet device.  They both managed to fetch the auth servers from tirbesnext.com and determine my internet ip address.

Doing a program trace of system calls on linux I found that the program got trapped in some sort of infinite loop.  It kept calling the recv() function winsock over and over again with the exact same parameters.  This may indicate that its a problem with WINE's winsock code, but I'm hesitant to jump to that conclusion that when all sorts of other network programs I use on WINE function just fine.  Including network intensive programs like firefox, uTorrent and other multiplayer games.

I'll keep digging and see what I can find out.


Title: Re: The Linux Thread
Post by: Debianeer on February 05, 2009, 12:55:27 AM
All the more reason to make a patch for the old Loki version..

imho, but i'm putting in another vote for this, since; yay, native, known good, working, client. =)

-m


Title: Re: The Linux Thread
Post by: Thyth on February 05, 2009, 09:38:30 AM
I won't be porting to the Loki version any time soon. I don't have the time, or inclination to maintain two branches of code. Wine will be supported with release candidate 3, as discussed in the development roadmap.


Title: Re: The Linux Thread
Post by: terracon on February 05, 2009, 11:02:53 AM
I won't be porting to the Loki version any time soon. I don't have the time, or inclination to maintain two branches of code. Wine will be supported with release candidate 3, as discussed in the development roadmap.

It's great the client will work at least under wine. Not that desireable but I guess it's better than nothing. How are you supposed to run a dedicated server like this?


Title: Re: The Linux Thread
Post by: ccfreak2k on February 05, 2009, 01:33:50 PM
I won't be porting to the Loki version any time soon. I don't have the time, or inclination to maintain two branches of code. Wine will be supported with release candidate 3, as discussed in the development roadmap.
It's great the client will work at least under wine. Not that desireable but I guess it's better than nothing. How are you supposed to run a dedicated server like this?
Use Wine again, like I do on my shell server (Glasnost :: Tribes 2).

Speaking of which, with some tinkering, I got the client to work in Wine. Unfortunately, the client tends to lock up my box occasionally while playing, so I can't test it extensively. What I DID test, however, was server listing and in-game IRC, both of which work.


Title: Re: The Linux Thread
Post by: altpersona on February 10, 2009, 11:51:15 AM
any updates on this front?


Title: Re: The Linux Thread
Post by: Turkeh on February 10, 2009, 12:56:36 PM
at current, you can (manually) nerf the T2CSRI scripts that use any TCP/HTTP objects and that should fix most instabilities... You'll have to use another means of viewing the server list though (i.e. MaxOGC web list) and manually set $IPv4::InetAddress to your external IP (via game console, or script).

Otherwise, see The Development Roadmap (http://www.tribesnext.com/forum/index.php?topic=508.0)


Title: Re: The Linux Thread
Post by: laeknishendr on February 13, 2009, 09:05:57 AM
I've tried what Turkeh has said above hoping to get a temporary solution to stop
me having to reboot all the time, and found that now I've got past the freezing
intro screen, the local account details are not being found.
The log in screen doesn't recognise that any local accounts exist: in the
dropdown thing where my account should be it's just "retrieve account" greyed
out. If I enter my details manually it prompts me to download the account
details from the server (which obviously we're trying to avoid as Wine doesn't
like it)

I tried hard coding my account name into the return value of
certstore_listAccounts in t2csri/certstore.rb, which had no effect at all. That
function seems to be called from LoginEditMenu::populate (in loginScreen.cs), so
I tried setting the $accountList variable manually in that function to my
accountname, and that *did* make it show up. But it wouldn't let me log in
presumably as it hadn't loaded in the keys and certificates.
My guess is the Ruby interpretor isn't being invoked correctly, but I'm not
receiving any errors about it.

I should also mention that I'm using the copy I installed on Windows and play
through Windows, and on Windows this exact setup does work as expected (ie it
lets me log in but doesn't retrieve the server list).

I'm using wine-1.1.14 on OpenSuse 11.1 x64.

if anyone else wants to test it and see if you have more luck, I've (hopefully)
attached T2csri.vl2 which needs to go under GameData/base  (but make sure to
back up the one already there first ;p)


Title: Re: The Linux Thread
Post by: Thyth on February 13, 2009, 10:58:28 AM
You can copy the public.store and private.store files from your Windows installation to your Linux install. If you can't download the certificate and key for your account in the Linux install, you'll need to copy that data over via those store files.

Setting the account name won't magically permit login, since the login process just does some processing on the certificates locally.


Title: Re: The Linux Thread
Post by: laeknishendr on February 13, 2009, 11:41:58 AM
Hi Thyth, thanks for your response but as I said it's exactly the same install.

To make it clearer: I'm just mounting the NTFS drive and Wine-ing the t2 executable. The public.store and private.store are there and are perfectly recognised and parsed and allow login under Windows but when running under Wine, Tribes is oblivious to their existence it seems.

My point about setting account names was that...  well, as far as I can tell, Tribes (the cs login screen script) asks Ruby for the list of accounts. Hard coding an account name within the Ruby has no effect, but hard coding it within the cs script does. That seems pretty significant...



** EDIT: Ah, interestingly I've just tried on a fresh install on a Ubuntu VM and there does not seem to be the same issue :-\ but it does UE right after logging in.
I'll keep investigating.


Title: Re: The Linux Thread
Post by: Thyth on February 13, 2009, 12:51:57 PM
Sounds like the Ruby interpreter is failing for some reason. If you add enableWinConsole(1); to the top of one of the script files (clientSide.cs in the VL2 works fine), that should enable a console window for the game. Check if the Ruby interpreter is working properly.

Try:
Code:
rubyEval("puts 2+2");
It should put out 4.

Oh... and if any advanced Linux C/C++ programmer wants to help me out with a Loki port, I'm sure something could be hacked together for dedicated server support (It just needs SHA1, big integer base conversion, and big integer modular exponentiation). I'm just not sufficiently familiar with shared library injection in Linux.


Title: Re: The Linux Thread
Post by: laeknishendr on February 14, 2009, 03:42:25 AM
It seems to be a quirk of the Wine version I was using, I went back a few versions (to whatever's in the OpenSUSE repos, can't remember) and Ruby kicked in no problems.

For what it's worth: it looks like the Wine freezing issue is caused by trying to pull the whatismyipaddress.php page. I went back to a clean T2csri.vl2, the only change I made was to set $IPv4::InetAddress = "xxx.xxx.xxx.xxx"; [obviously replaced with my ip address] at the top of the ipv4_getInetAddress function (in t2csri/ipv4.cs)... and the freezing stopped, but there's a bunch of other networking activity which seems to complete fine.

Unfortunately it UEs (twice) right after logging in. Which is probably a Wine thing as it's working under Windows.


Title: Re: The Linux Thread
Post by: Turkeh on February 14, 2009, 12:57:33 PM
If you're getting a UE immediately after login (under Wine), the likely culprit may be the T2 IRC client.
Just do a
Code:
touch /path/to/base/scripts/ChatGui.cs
and remove any ChatGui.cs.dso files


Title: Re: The Linux Thread
Post by: Beer:30 on February 15, 2009, 01:15:03 PM
Can't contribute anything technically but I do appreciate the work being done on a linux patch for tribes.  Thanks ;D


Title: Re: The Linux Thread
Post by: laeknishendr on February 16, 2009, 03:27:23 AM
Thanks Turkeh, that got the UE sorted.

I did actually get it working but it's not elegant and I did have to disable the server browser. I found that the server fetching/querying did cause the Wine infinite loop thing, but not every time. And something related happens in the background periodically while in game which was causing random looking infinite loop freezes. I just disabled the autoexec/t2csri_list.cs file in the end.

I also ran into a problem with the account certificate being thought to be invalid when I tried joining a server. I didn't test this thoroughly but it looked like when T2 got hold of the cert it had been cut to the first 1000 characters (mine is roughly 1200 or 1300). I just hard coded the line from my public.store in the script, and it was happy with that.

if anyone is interested in exactly what needs doing to get a playable copy running leave a message here and I'll post step by step instructions.


Title: Re: The Linux Thread
Post by: Thyth on February 16, 2009, 06:48:52 AM
That certificate truncation issue should be sorted in RC2.


Title: Re: The Linux Thread
Post by: terracon on February 16, 2009, 09:14:54 AM
Quote
If anyone is interested in exactly what needs doing to get a playable copy running leave a message here and I'll post step by step instructions.

Yes. I would like this very much.


Title: Re: The Linux Thread
Post by: laeknishendr on February 17, 2009, 04:19:21 AM
Hello Terracon,

Firstly I'll say I'm using this on wine-1.1.9, any other wine versions might have unexpected (or expected) issues.

it's a bit verbose to explain everything in minute details so instead I have written a script to (hopefully) do it for you, it should be attached to this post.
Before running the script rename your Tribes2/GameData/base/T2csri.vl2 to T2csri.vl2.bak, the script will leave this untouched but assumes it to be a 'clean' copy from which it builds the new.

Extract the script,
$ chmod +x t2hack.py
$ ./t2hack.py /path/to/your/Dynamix/Tribes2/

you should now be able to launch T2 under wine (using Wine Tribes2.exe -online) but as the name suggests it really is just a nasty hack ;) But for me at least it's still more convenient than using Windows.
You will lose the server browser (use instead the MaxOGC link in the sticky in the main forums) meaning you'll have to join servers by IP but I'm afraid I'm unfamiliar with what console command allows that... One of the PJ scripts adds a 'join IP' button to the server list screen, but I'm not sure exactly which. Favourites still retains a list of servers but it can't query them.


Surprisingly, you also seem to be able to actually register accounts using this (which I tested once and managed to get through without Wine locking up), but if you do so, afterwards you'll have to quit and re-run the script in order to hard code the certificate for it.

You'll also have to re-run the script if your IP changes.

Hopefully it'll work but any problems let me know (BTW: if your env python variable is set to a Py3k interpretor you'll have to run it under a Py2.x interpretor instead; I think most if not all distros are still 2.x though)



A brief explanation of the files within T2csri.vl2 it modifies are:
scripts/autoexec/t2csri_list.cs -> renamed to t2csri_list.cs.null to prevent it being executed. This disables the server browser, and something else which caused wine to lock up randomly ish.
t2csri/ipv4.cs -> changes ipv4_getInetAddress() to define the computer's IP address at the top of the function (workaround for intro screen wine lockup)
t2csri/clientSide.cs -> changes t2csri_getAccountCertificate() to include the details from the public.store file (workaround for the truncated certificate issue)





Title: Re: The Linux Thread
Post by: terracon on February 17, 2009, 10:08:34 AM
$ ./t2hack.py ~/.wine/drive_c/Dynamix/Tribes2/
public.store not found - cert won't be updated -- you will need to rerun this script after you have an account.
Traceback (most recent call last):
  File "./t2hack.py", line 56, in <module>
    z.extractall(tmp, toextract)
AttributeError: ZipFile instance has no attribute 'extractall'


Title: Re: The Linux Thread
Post by: laeknishendr on February 17, 2009, 10:39:23 AM
ah why does nothing ever work as you want it to :P  okay, apparently that wasn't introduced til Python2.6 so presumably you have a pre 2.6 install
If you change line 56 to read:

os.popen("unzip " + gamedata + "/base/T2csri.vl2.bak " + " ".join(toextract) + " -d " + tmp)

that should do the same thing (assuming you have unzip installed)


Title: Re: The Linux Thread
Post by: terracon on February 17, 2009, 11:55:46 AM
I just did this and followed the instructions. Wow this works. Nicely done!


Title: Re: The Linux Thread
Post by: MojoBlue on February 26, 2009, 10:38:43 AM
It looks like the new RC1E update fixes a lot of what the t2hacks.py script fixes. A couple things to note though:

* If you do not run the t2hacks.py script after the RC1E update, the game will play, the server browser will work as well, but when you play eventually it will stop working during play. It hits whatever wine issue was existing before.

* If you apply the t2hacks.py script after the RC1E update, the game plays fine, but the server browser goes back to being broken.

So far the best solution I have found is to run the game without the the patch first, then favorite all of the servers you plan to play on. Then exit and apply the t2hacks.py script. That way the game doesn't timeout during play and you get all the favorites in your server list. At that point, you can still query them for status and everything else, you just can't get an 'All Servers' listing. If for some reason you want to go back to pre-t2hacks.py execution, simply remove the T2csri.vl2 and copy the backup T2csri.vl2 to that file and re-run and it's back to normal. I've had to do this a couple times to add other servers that would start up after I had applied the t2hacks script.


Title: Re: The Linux Thread
Post by: Beer:30 on March 12, 2009, 11:23:55 PM
I've got no idea why but I'm up and running.

Followed the below procedure posted by MojoBlue.

Installed PJ's all in one from the windows .exe via wine.

Reverted to the backup T2csri.vl2 and I appear to be working with the server browser and no mystery crashes.  I just had 4 hours of play without lockup.


Title: Re: The Linux Thread
Post by: laeknishendr on March 13, 2009, 06:48:37 AM
Which distro and wine version is that?  (run: wine --version)


Title: Re: The Linux Thread
Post by: Beer:30 on March 13, 2009, 05:02:45 PM
Which distro and wine version is that?  (run: wine --version)

wine 1.0.1

Mint Linux 6 -  Ubuntu 8.10 derivative


Title: Re: The Linux Thread
Post by: Debianeer on March 24, 2009, 07:28:55 PM
this is a bump for great justice.

wine 1.0.1 working here perfectly too

Debian lenny/squeeze/sid Linux(32-bit install)

did the install, made an account, ran the RC1E update..

two 2 and a half hour stretches so far.

VICTORY, INFERNO.

cheers,
-m


Title: Re: The Linux Thread
Post by: echoed on May 22, 2009, 11:23:23 AM
Tribes 2 + Wine (1.0.1 and 1.1.5.. I've tried both) + AMD 64 (64 bit) Debian Lenny
Maybe I have to run under a 32-bit chroot? Or run actual i386 (32-bit) Debian? :-/

Anyone else here have success with amd64 distro?

I also noticed, pre-rc2a patch, when I ran the Tribes 2 training sessions. Lt. Kenzie (and your objective) would be stuck on the first thing and she would repeat the same first thing she said over and over and over forever.


Title: Re: The Linux Thread
Post by: Thyth on May 22, 2009, 03:40:41 PM
Prior to patching, the game itself seems to work fairly well under wine, even with a 64-bit system (Gentoo 64-bit, on a dual-processor AMD Opteron 246 system). The RC1e patch worked acceptably in wine as well, but it looks like I broke something when making changes for RC2 (which has also broken in some versions of Windows Server). I'd suggest using RC1e for now on Linux systems, but you won't be able to generate an account with that patch version.

I've partially traced it down to inter-process transport encoding, but I haven't had the time to fix it yet, or to work on the community features for RC3.


Title: Re: The Linux Thread
Post by: ScratchMonkey on June 20, 2009, 03:00:21 AM
Oh... and if any advanced Linux C/C++ programmer wants to help me out with a Loki port, I'm sure something could be hacked together for dedicated server support (It just needs SHA1, big integer base conversion, and big integer modular exponentiation). I'm just not sufficiently familiar with shared library injection in Linux.

Knowing what to google for (http://www.google.com/search?q=linux+shared+library+injection), I got this hit:

Code Injection into Running Linux Application
http://www.codeproject.com/KB/DLL/code_injection.aspx

Looks like a good starting point.


Title: Re: The Linux Thread
Post by: Alpha-foxtrot on June 21, 2009, 11:32:44 AM
hi, I got everythig working! but! when i start the game, i get the old login screen? how do i generate CDkey? i just get the old great account or login with old existing account? eny ideas?

Running Ubuntu jaunty with wine 1.1.23


Title: Re: The Linux Thread
Post by: echoed on June 27, 2009, 08:56:26 AM
Anyone ever try installing the old Loki Games CD on a Linux machine?
I'm running amd64 and it bombs out on the setup.sh. I know P!nk Panther who
runs a TribesNext server on amd64. I'd like to just set up Tribes 2 in the first place.
I managed to get it to run setup.data/bin/Linux/x86/glibc-2.2/setup.gtk, but
it dies when it tries to find bin/x86/t2launch and fails.

Has anyone ever tried installing on an amd64 arch?


Title: Re: The Linux Thread
Post by: ScratchMonkey on June 27, 2009, 10:22:31 AM
Take a look at the Installation section in the Linux Gamers FAQ:

http://icculus.org/lgfaq/


Title: Re: The Linux Thread
Post by: terracon on July 03, 2009, 01:59:30 PM
If you want to play TribesNext in Fedora 11 but find the newer Wine doesn't work . Have no fear NewbBlood! Go to http://koji.fedoraproject.org/koji/buildinfo?buildID=77739 and download all the packages there. I've tested this and I'm using wine-1.1.12.If you already have wine installed. Install these packages like so # rpm -Uvh --oldpackage wine-*.rpm . If you don't have wine installed just omit --oldpackage. Apply the patch from earlier in this thread. Run wine like so,  wine Tribes2.exe -online -connect ipaddress  . You can check the web server list for ipaddress's and just insert the address of the server you want to connect to.


Title: Re: The Linux Thread
Post by: Kaer on August 29, 2009, 02:58:19 AM
Hi, Ive been following this thread very closely trying to get tribes to work in ubuntu jaunty jackalope running Wine 1.1.19 as suggested.

On a fresh install of TribesGSI.exe into wine. Ive gotten tribes to work, very well, yet with NO tribesnext patch installed. I cant connect to a tribesnext server with the via "-nologin -connect 66.162.166.53" (GoonHaven) in the wine shortcut.

When I start tribes with the Rc2a patch installed, it just wont do anything, Ive tried this t2hack.py, and nothing.

What do I do? Is my env python variable is right in jaunty jackalope.


Title: Re: The Linux Thread
Post by: Kaer on August 29, 2009, 04:10:57 AM
Installed Rc1e patch instead of Rc1a and it worked like a charm. : )
Team Inferno Scores!
Now if I can only fix the wierd linux mouse acceleration thats messing up my MA's!


Title: Re: The Linux Thread
Post by: Kaer on August 29, 2009, 07:59:34 PM
Check it out.
http://www.youtube.com/watch?v=fdyxo_tauNQ


Title: Re: The Linux Thread
Post by: Kaer on August 29, 2009, 11:08:21 PM
If you want to speed up wine, or fix the mouse (called MouseWarp....eww). I knew I wasnt crazy.
These sites can help you edit the wine registry.
The video memory key really sped my system up. I guess wine wasnt making use of the 512 available.

http://wiki.winehq.org/UsefulRegistryKeys (http://wiki.winehq.org/UsefulRegistryKeys)
http://linuxgamingtoday.wordpress.com/2008/02/16/quick-tips-to-speed-up-your-gaming-in-wine/ (http://linuxgamingtoday.wordpress.com/2008/02/16/quick-tips-to-speed-up-your-gaming-in-wine/)

Need help? Feel free to email me.
[email protected]



Title: Re: The Linux Thread
Post by: Omnutia on August 30, 2009, 06:10:06 PM
I tried following the instructions in the Youtube video's comments and, upon hitting login, I end up getting the message:

Quote
Your game is not running the patched executable.
Close the game and verify the patch was run successfully.

Any ideas on what's causing this or how I could find out?
Running Jaunty and the latest version of Wine from the Wine PPA.


Title: Re: The Linux Thread
Post by: Plexor on September 11, 2009, 03:25:19 PM
I tried following the instructions in the Youtube video's comments and, upon hitting login, I end up getting the message:

Quote
Your game is not running the patched executable.
Close the game and verify the patch was run successfully.

Any ideas on what's causing this or how I could find out?
Running Jaunty and the latest version of Wine from the Wine PPA.

I am also having the same error right now.  Anyone figure it out?


Title: Re: The Linux Thread
Post by: Plexor on September 11, 2009, 07:34:39 PM
Seems the problem is that ruby isn't working... rubyEval doesn't do anything in the scripts.  I tested it on Wine 1.1.27 and 1.1.29 with the same results.


Title: Re: The Linux Thread
Post by: Turkeh on September 11, 2009, 07:42:53 PM
The TribesNext patch is known to have issues with Wine, RC3 will hopefully address these issues.

I believe RC1e is the only option for Wine/Crossover, unless Wine has since done something funky...


Title: Re: The Linux Thread
Post by: Plexor on September 11, 2009, 08:58:23 PM
I am running RC1e, what is the latest version of wine known to work?


Title: Re: The Linux Thread
Post by: Turkeh on September 12, 2009, 05:34:03 AM
I know 1.1.11 worked (yes, I know it's a major downgrade)...
You'd have to ask some of the other users what they managed to get it working on for more version info.


Title: Re: The Linux Thread
Post by: Thyth on September 12, 2009, 09:33:59 AM
It is possible that the newer versions of Wine have some incompatiblity with the patching program that the installer uses to modify the Tribes2.exe file. I used some sort of binary delta program for this purpose in the installer (xpatch, I think). If that patching process fails, the executable is not modified to load the new DLL that enables Ruby and the other code patches necessary to play on our system.

In any case, I will investigate more closely for the next releases, and if necessary, build a separate installer for the Wine platform.


Title: Re: The Linux Thread
Post by: Kaer on September 26, 2009, 11:00:38 PM
Yes, wine 1.0.1 is good good, anything newer is bad bad.
Gets that error up there. ^


Title: Re: The Linux Thread
Post by: Thyth on October 04, 2009, 06:45:23 AM
I've completed a code review of our patch, and traced the source of the Wine incompatibility. It ends up, none of the code changes I made were the source of the problems, but rather bugs in the Ruby MRI implementation.

For RC2, I switched from Ruby 1.8.7 to Ruby 1.9.0, because Ruby 1.8.7 crashes when more than one thread is spawned in the interpreter process (even if that thread doesn't interact with the interpreter itself). A second thread was needed to verify the game was still running (so the interpreter properly closes if the game dies without issuing a quit call). Using Ruby 1.9.0 solved that issue in Windows, however, bugs in that version result in a thread deadlock when running in Wine (POSIX threads behave slightly differently than W32 threads).

I was able to initialize the interpreter (without any TN code modifications) under Wine when running the most recent Ruby 1.9.1 DLL (p243), and this is apparently suitable for operating a dedicated server. However, the Ruby 1.9.1 DLL crashes when performing any file IO operation (in both Windows AND Wine), thus is not suitable for client mode. Client mode uses the Ruby IO API to read the credential stores, since I explicitly placed those files outside the reach of TorqueScript file objects.

So, in a nutshell, the Ruby MRI interpreter is buggy and flaky beyond belief. I'm still working to resolve these issues with the Ruby 1.9.1 interpreter, and it is the last major piece of native code modification for the next release candidate.


Title: Re: The Linux Thread
Post by: EvilSECTOID on October 07, 2009, 09:14:14 AM
I'm running Ubuntu Jaunty Jackalope 9.04 AMD64

the old TribesNext patch works perfect for me!!!

I just installed TribesNext_rc1e.exe with wine

VGCA


Title: Re: The Linux Thread
Post by: azraieth on December 09, 2009, 03:12:03 PM
Is there any update to getting this working just out of interest?


Title: Re: The Linux Thread
Post by: Thyth on December 09, 2009, 04:56:10 PM
The Ruby 1.9.1 update is still high priority. I'll try to resolve all final issues at the start of January.


Title: Re: The Linux Thread
Post by: echoed on February 17, 2010, 06:49:44 AM
Thanks Thyth. Let us know when RC3 is ready. I've been running rc1e with no problems under WINE for a while, except for the odd unhandled exception it's been fine.

Would be nice to somehow install the native linux Tribes 2 on my amd64 machine but the Loki installer just doesn't want to cooperate.


Title: Re: The Linux Thread
Post by: Thyth on February 17, 2010, 12:48:29 PM
Tracking bugs down in the Ruby interpreter code hasn't been fruitful so far, so, the current plan is to have a slightly different distribution for users of Wine. That distribution will use a native Linux Ruby interpreter in the place of the Windows one. All other pieces should remain the same. Windows will stay with the Ruby 1.9.0 interpreter for the reasons outlined.

Wine seems perfectly capable (and happy) to launch either a Windows or system native executable from the Windows CreateProcess API call, so beyond a slightly different installation process (and the requirement that the Ruby libraries are installed Linux side), it should be pretty seamless.


Title: Re: The Linux Thread
Post by: y0sh| on April 07, 2010, 06:27:21 AM
Hi everyone.  Bumping this thread hoping for some news/tricks.

Background-  I had been running tribesnext on windows for almost 6 months specially the last 2 for some gametime.  Fun times.  Recently made the jump to Ubuntu 9.10 & installed tribesnext with the TribesNext_rc1e.exe patch using Wine 1.1.31 & the installation went smoothly without a hitch.  Game launches fine, even was able to go through settings to map the keyboard.  Although I sometimes get an UE at launch, if I keep trying I eventually can get to the list of servers but as soon I try to join a server, I get the daunted UE C0000005 and it crashes.  Occasionally, attempting to join a server shows an error to the line of: "Servers sent back wrong client challenge"... try to join again & UE/crash.  Haven't yet been able to get past this, try as I might.

I saw in this thread some of you have been able to play using the TribesNext_rc1e.exe patch but I just not have had the same luck.  I am not using the t2hack.py script as many have, should I be?  Any insight you can guys can provide would save me from going back to Windows!  Please help!


Title: Re: The Linux Thread
Post by: VashTexan on April 09, 2010, 07:16:00 AM
You ought to read the previous page of this thread, but here's a summary:

Only certain older versions of wine work atm, like:

wine 1.1.11
wine 1.0.1

Newer versions seem to get a log-in "invalid patch" problem. Thyth said how he'll eventually fix it, with a separate linux version of the TribesNext patch.

Also, make sure you've made an account... I think it still requires linux users to ask others, over the IRC channel, to make an account for them.

Most importantly: DO NOT MODIFY T2 IN ANY WAY! Keep the basic installations as is, and make sure to use a .dso - remover once in a while. Modifications of T2 (skins, mods, voice kits, special binds, etc.) are currently the No.1 cause of Unhandled Exceptions for those running Tribes 2 through Wine (proof through experience).


Title: Re: The Linux Thread
Post by: azraieth on June 17, 2010, 01:52:40 PM
update? anything? I want to get my friend who won't even install windows to play with me. So help me obi wan Thythobe, you are my only hope


Title: Re: The Linux Thread
Post by: Thyth on June 17, 2010, 05:59:30 PM
Here's a testing grade patch to apply on top of RC2a: http://www.tribesnext.com/forum/index.php?topic=2095.0

It uses a fairly roundabout way to deal with the problems encountered with Ruby, but it appears to be functional from my tests.


Title: Re: The Linux Thread
Post by: Spencer on June 18, 2010, 10:50:45 PM
This did not work for me, Mac0SX 10.6.3 and crossover games 8.1.4.  The game wont even launch, pops up in the dock for a few seconds then disappears.


Title: Re: The Linux Thread
Post by: Thyth on June 20, 2010, 10:57:36 AM
I don't have any Mac OS X systems on which to test this change set. If you connect to the IRC channel, I could try to guide you through a few possibilities interactively.


Title: Re: The Linux Thread
Post by: Lee_Stricklin on May 19, 2011, 01:28:54 AM
Bumping this thread. I've tried different versions of WINE under my PlayOnLinux front-end and have yet to get this to run. I can run the game without the patch, but it completely bricks once the Tribes Next patch is installed. The versions of WINE that I have tried are: 1.1.11,
1.0.1, and currently 1.3.1. None of them work. I'm currently running Ubuntu 10.04 64 bit with pulseaudio stripped out.


EDIT: I found the fix for this on the forum, though I am having trouble creating an account as it doesn't seem to be doing anything after I hit create account.


Title: Re: The Linux Thread
Post by: Heat Killer on May 21, 2011, 02:25:11 PM
EDIT: I found the fix for this on the forum, though I am having trouble creating an account as it doesn't seem to be doing anything after I hit create account.
It would be nice if you included the link so that people who stumble upon your same problem know where to go....


Title: Re: The Linux Thread
Post by: JudgeHershey on May 22, 2011, 02:19:24 AM
*You can make an account with the following:

1) Option 1 -->
- Wine-1.2.2, -OR-  Wine-1.2-rc5
- These instructions -> http://www.tribesnext.com/forum/index.php/topic,2095.0.html

-OR-

2) Option 2 -->
- Ask in the IRC: irc://irc.tribalwar.com/tribesnext - irc.tribalwar.com / #TribesNext for someone to make an account for you. Password stealing is not an issue (cuz there's nothing left to steal).

Also, if it doesn't work with the Tribes Next RC2a patch, try the Tribes Next RC1e patch. If not, keep trying the different patches. Patches listed HERE (http://www.tribesnext.com/files/).

*And you can log in with your account with the following:

- Wine 1.0
- These instructions (if you haven't already done them in the account making part, for some reason) -> http://www.tribesnext.com/forum/index.php/topic,2095.0.html

You can NOT log-in with Wine-1.2-rc5.

*Advice:

- 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

- Most importantly: DO NOT MODIFY T2 IN ANY WAY! Keep the basic installations as is, and make sure to use a .dso - remover once in a while. Modifications of T2 (skins, mods, voice kits, special binds, etc.) are currently the No.1 cause of Unhandled Exceptions for those running Tribes 2 through Wine (proof through experience).

Note: More recently, I've found it's OK to mod some stuff, just do so one bit at a time.

- Use DSO-Removers (http://www.tribesnext.com/forum/index.php/topic,1679.0.html), I recommend every single time you run TribesNext.

- Goon Haven Issues: I've found that on the "Goon Haven" server, which runs Classic mod, errors of all kinds can happen, but ONLY on certain maps (although many maps that it runs). These errors, including "Bad File Descriptors", "Segmentation Fault", and "UE", will crash T2. They will be very frequent on some maps, every few minutes, making game-play ridiculous.

SO, try other servers and mods until each error-prone map passes, if you're determined to play on Goon's. I know Triumph Mod server doesn't have such problems usually, mostly the server crashing, so just much rarer errors. MD2, MDTW, TSW, Shifter mods have similar low number of errors, based on some experience

(Please tell me if you find any problems with particular scripts, mods, servers, maps NOT on Goon Haven ... go ahead and make a list of the error-prone maps hosted on Goon's, if you like, but I don't think anything can be done with it).


Title: Re: The Linux Thread
Post by: tomz0rs on July 29, 2011, 11:34:57 PM
*I think you can make an account with the following:

- Wine-1.2-rc5
- These instructions -> http://www.tribesnext.com/forum/index.php/topic,2095.0.html

You can NOT log-in with Wine-1.2-rc5.


This worked great, thanks!  I'm running Kubuntu (Ubuntu) Lucid 10.04.

I followed the above instruction's using my system's Wine (wine-1.2.2).

Quote

*Advice:

- 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

- Most importantly: DO NOT MODIFY T2 IN ANY WAY! Keep the basic installations as is, and make sure to use a .dso - remover once in a while. Modifications of T2 (skins, mods, voice kits, special binds, etc.) are currently the No.1 cause of Unhandled Exceptions for those running Tribes 2 through Wine (proof through experience).

Note: More recently, I've found it's OK to mod some stuff, just do so one bit at a time.

- Use DSO-Removers (http://www.tribesnext.com/forum/index.php/topic,1679.0.html), I recommend every single time you run TribesNext.


It is definitely still true that you cannot play multiplayer unless you use a version of Wine like 1.0.  I obtained wine-1.0 via PlayOnLinux:

$ sudo aptitude install playonlinux
$ playonlinux

In PlayOnLinux:

  • Go to Tools --> Manage wine versions
  • select "1.0" from the top box
  • click "Add"

After that's done, exit PlayOnLinux.  I only used it to easily build a local wine in my home directory (~/.PlayOnLinux/).

Now we can try to login and play:

$ cd ~/.wine/drive_c/Dynamix/Tribes2/GameData/
$ rm -v $(find base -name '*.dso') # Remove DSO's, just in case
$ ~/.PlayOnLinux/WineVersions/1.0/usr/bin/wine Tribes2.exe -online # Use wine-1.0

Quote

- Goon Haven Issues: I've found that on the "Goon Haven" server, which runs Classic mod, errors of all kinds can happen, but ONLY on certain maps (although many maps that it runs). These errors, including "Bad File Descriptors", "Segmentation Fault", and "UE", will crash T2. They will be very frequent on some maps, every few minutes, making game-play ridiculous.


I just played a bit on Goon Haven and it seemed to be working fine.  Yay! :)