[outdated] How to get TT working under Wine (Linux) [message #477954] |
Tue, 11 December 2012 01:19 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
EDIT: Disregard this post entirely - a better version is here
Hello everyone!
Many many years ago I lurked here under the name of 'Dthdealer'.
Background
Wine is a compatibility layer that allows Windows applications and games to be run on non-windows operating systems. Over the last few years it has been getting crazily better, and now nearly all major games ( ie Valve ) work. Wine itself is free and open source, as is every other piece of software on my computer par some games and my graphics drivers.
For the Linux vs Windows gaming debate: keep it civil It is now definitely a competitive scene -- take for example valve succeeding in getting Left for Dead 2 running at a higher FPS on what is probably Ubuntu.
If you want to try Linux, Ubuntu ( a user friendly spin ) runs right off a USB without having to install it to your harddrive. I'd tout that it's easier to use than Windows, especially once you discover the wonderful world of packages.
Enough advertising! Get on with the fix.
Problem
Vanilla Renegade installs and works fine under Wine, although I have not played much of it yet. Take note I have a whole kaboodle of directx stuff installed via winetricks, which you generally have to do for most games.
The official ( 1.031? ) patcher works perfectly, as does the TT installer.
Running the game once TT is installed, even game2.exe, results in a black window and a hung game.
I decided to do some rudimentary debugging:
$ WINEDEBUG=+dll,+loaddll,+module,+file wine Renegade &>alogfile
And in the log:
... a lot of junk ...
trace:file:CreateDirectoryW L"\\Renegade\\Client\\debug"
trace:file:RtlDosPathNameToNtPathName_U (L"\\Renegade\\Client\\debug",0x33c668,(nil),(nil))
trace:file:RtlGetFullPathName_U (L"\\Renegade\\Client\\debug" 520 0x33c3e8 (nil))
trace:file:wine_nt_to_unix_file_name L"\\??\\C:\\Renegade\\Client\\debug" -> "/home/valentine/wine/dosdevices/c:/Renegade/Client/debug"
trace:file:CreateFileW L"\\Renegade\\Client\\debug\\crashdump.20121211-073330-r5074-n1.dmp" GENERIC_READ GENERIC_WRITE FILE_SHARE_READ FILE_SHARE_WRITE creation 2 attributes 0x80000000
trace:file:RtlDosPathNameToNtPathName_U (L"\\Renegade\\Client\\debug\\crashdump.20121211-073330-r5074-n1.dmp",0x33c658,(nil),(nil))
trace:file:RtlGetFullPathName_U (L"\\Renegade\\Client\\debug\\crashdump.20121211-073330-r5074-n1.dmp" 520 0x33c398 (nil))
trace:file:wine_nt_to_unix_file_name L"\\Renegade\\Client\\debug\\crashdump.20121211-073330-r5074-n1.dmp" not found in /home/valentine/wine/dosdevices/c:/Renegade/Client
warn:file:CreateFileW Unable to create file L"\\Renegade\\Client\\debug\\crashdump.20121211-073330-r5074-n1.dmp" (status c000003a)
trace:file:CreateFileW returning 0xfffffff
... a lot of junk ...
Solution
C:/Renegade/Client seemed to be a file instead of a directory. Removing it and then creating the folders Client and Client/debug seemed to fix the problem.
I'm very glad I was able to get this working. Hope to see you all online ( if people still exist )
Regards, William
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
[Updated on: Sun, 06 January 2013 00:38] Report message to a moderator
|
|
|
|
Re: How to get TT working under Wine (Linux) [message #477958 is a reply to message #477954] |
Tue, 11 December 2012 02:59 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
NB: There are still a few problems getting it to work online. I'll post here once I find out how to fix them.
Namely: blank Advanced listings ( possibly fixable by "sudo setcap cap_net_raw+epi /usr/bin/wine-preloader" )
At the moment a new bug has popped up: '... tt.dll has not loaded, please report this'
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
[Updated on: Tue, 11 December 2012 03:03] Report message to a moderator
|
|
|
|
|
|
|
Re: How to get TT working under Wine (Linux) [message #478311 is a reply to message #477954] |
Mon, 31 December 2012 21:09 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
Currently renegade has decided to stop working, throwing an error on startup ( ... TT ... please report this ). I'll need to resolve this
C:/Renegade/Client/dllload.txt:Failed to load, error 998. No access to memory location.
Possibly a 32/64 bit mishap whilst loading tt.dll. I'll poke around some more - but if the TT devs know anything that might help, it will be appreciated
Ethenal wrote on Thu, 13 December 2012 19:39 | Oh snap, you use arch? I'm looking at this on my Arch laptop I wonder if Renegade would run on here...
|
Yes - follow the normal install procedure ( :shudder: unskippable bink movie in installer :shudder: ) and then install TT. The TT installer I believe both applies the official patch and provides no-cd, but at one point it appears to hang whilst downloading replacement *.mix files ( I recommend running the installer in a terminal so this can be observed ).
Alternatively you can take another path, or none at all past vanilla, until the multiplayer issue gets sorted out.
Regards, William
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
|
|
|
Re: How to get TT working under Wine (Linux) [message #478312 is a reply to message #477954] |
Mon, 31 December 2012 21:11 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
@myself
Apologies! TT.dll loading problem resolved by updating Wine.
Edit: Changing the permissions regarding netcap caused the problems. Updating overwrote the file, reversing these changes. I will investigate further!
Edit2: More windows error vagueries!
warn:module:process_attach Initialization of "tt.dll" failed
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
[Updated on: Wed, 02 January 2013 04:50] Report message to a moderator
|
|
|
Re: How to get TT working under Wine (Linux) [message #478368 is a reply to message #477954] |
Fri, 04 January 2013 19:40 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
I ran Renegade as superuser (root), but Advanced listings are still blank. Creating new nicks does not work either, yet I get the XWIS welcome message and seem to be connected. I'm going to install the game on an ancient XP box and see if it works there.
Does anyone know what can cause blank Advanced listings, other than a wrong nickname/password combination? Does XWIS do this to users of banned serials (not that mine is not legit)?
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
|
|
|
|
Re: How to get TT working under Wine (Linux) [message #478372 is a reply to message #478369] |
Fri, 04 January 2013 23:38 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
( 2 hours of gameplay on an old XP laptop later: ) My serial is definitely OK
I knew about the broken register button, but not about the online process. Logging in with an unused nick on WOL seems to still work anyhow.
Thanks Omar
I'm going to see if I can compare the IP traffic out of my Wine Renegade and XP Renegade, looking for differences.
To TT devs: could my client blank my advanced game listings because it thinks some resources are wrong/I'm trying to cheat?
Regards, William
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
|
|
|
|
|
Re: How to get TT working under Wine (Linux) [message #478406 is a reply to message #478380] |
Sat, 05 January 2013 18:42 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
I have succeeded in getting Renegade with TT working online inside a VM ( thank you Virtualbox 3D forwarding! ), ruling out hardware issues of my main box.
EvilWhiteDragon wrote on Sun, 06 January 2013 00:54 | Gamelistings are not affected by anti-cheat methods.
|
Thanks EvilWhiteDragon
StealthEye wrote on Sun, 06 January 2013 02:31 | You'd best sniff the XWIS connection (I believe c.xwis.net, the ports used are somewhere between 4000 and 4020, it's a TCP ASCII stream). Perhaps it shows you the issue, otherwise send the log to me (mask out the serial if you want).
|
I'm doing so now. There seem to be a lot of traffic differences between my VM install and my Wine one, including a massive lack of pings to gamelist servers in the latter. I have not ventured too deep into the traffic just yet because I want to repeat the process a few times and try it with a clean install in both situations.
Regards, William
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
[Updated on: Sat, 05 January 2013 18:43] Report message to a moderator
|
|
|
|
Re: How to get TT working under Wine (Linux) [message #478410 is a reply to message #477954] |
Sat, 05 January 2013 18:57 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
I have re-installed Ren in this order in a completely fresh wine prefix:
- CD installer
- Installed vcrun6 (needed for next step)
- Ran 1.037 updater
- Ran TT installer
Magically the issue my OP aimed to resolve did not exist - no C:\Renegade folder exists and the game works (minus multiplayer) without the aforementioned issues. I have updated wine since then - so this may have fixed the issue, but I will look a little further into this.
The pings I mentioned in my last post may be the problem - sending ping packets require special permissions on Linux boxes ( something to do with custom creating packets ), so I'll try to fix this first.
Once I get everything working I will run through the installation procedure again and do a full and concise writeup to replace this topic.
Regards, William
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
|
|
|
|
Re: How to get TT working under Wine (Linux) [message #478413 is a reply to message #478411] |
Sat, 05 January 2013 19:44 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
Omar007 wrote on Sun, 06 January 2013 13:02 | On a sidenote, the TT installer will take care of updating to 1.037 for you
|
Thanks
I like to write about what I do, so here is some more. Only read it if you are interested.
When trying to get the advanced game listings, wine throws this warning in my terminal several times:
err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions.
This seems to line up with the lack of any pings in contrast the to the many sent out to different servers by Renegade in my VM. My VM's kernel module must be providing a way of creating the pings even though I don't have the privileges as a user.
The solution to this ( according to this wine wiki page ) is to grant 'wine-preloader' raw packet handling capabilities:
(as root): setcap cap_net_raw+epi /usr/bin/wine-preloader
(NB I have also tried granting other capabilities to the executable, such as cap_net_bind_service and cap_net_admin )
This causes Renegade to crash on startup, unable to load tt.dll.
.
This appears to be wine making the error message. At the moment I can't get much out of it regarding exactly what went wrong, but I am still going through its various error message categories.
Renegade still makes the same network traffic on startup before this error message appears as when wine_preloader has no special perms. No ICMP/ping traffic is made during the time, so ICMP permissions are neither working nor causing the problem by working.
Regards, William
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
|
|
|
Re: How to get TT working under Wine (Linux) [message #478414 is a reply to message #477954] |
Sat, 05 January 2013 19:53 |
|
That error comes from TT/4.0, not WINE.
If you can talk to me (on MSN, AIM, ICQ, Yahoo or in #tt in IRC) I can help you figure out why things aren't working properly.
Jonathan Wilson aka Jonwil
Creator and Lead Coder of the Custom scripts.dll
Renegade Engine Guru
Creator and Lead Coder of TT.DLL
Official member of Tiberian Technologies
[Updated on: Sat, 05 January 2013 19:55] Report message to a moderator
|
|
|
Re: How to get TT working under Wine (Linux) [message #478416 is a reply to message #478414] |
Sat, 05 January 2013 20:25 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
jonwil wrote on Sun, 06 January 2013 13:53 | That error comes from TT/4.0, not WINE.
If you can talk to me (on MSN, AIM, ICQ, Yahoo or in #tt in IRC) I can help you figure out why things aren't working properly.
|
That error comes from TT/4.0, not WINE. -- possibly not, as I fixed it by giving net_cap_raw permissions to all of the wine executables. I found a mailing list post stating the the wiki is misleading, as /usr/bin/wineserver also needs net_cap_raw permissions because it is doing the actual network/socket work.
Now the ICMP packets are now being sent, but the AGL is still blank.
I will (greatly appreciatively) take up your offer on #tt, but it will have to wait ~30 mins so I can have lunch Thanks Jonwil!
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
|
|
|
Re: How to get TT working under Wine (Linux) [message #478417 is a reply to message #477954] |
Sat, 05 January 2013 22:42 |
|
Veyrdite
Messages: 1471 Registered: August 2006 Location: Australia, Sydney
Karma: 0
|
General (1 Star) |
|
|
Massively thanks to Jonwil the problem is now solved - an older version of WOLAPI.DLL was being loaded from .../Westwood/Internet instead of ../Westwood/Renegade .
Expect a full topic on how to get Renegade installed and working under Linux.
WOL: Veyrdite Previously: Dthdealer ( a long time ago )
|
|
|
|