Author Topic: TJW's client and tremded incompatible with sv_pure=1? Nope!  (Read 3663 times)

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
TJW's client and tremded incompatible with sv_pure=1? Nope!
« on: February 21, 2007, 09:10:52 am »
[edit: TJW's client and tremded are perfectly compatible with sv_pure=1, I was just being dense.  Read on for how it happened...]

Here's a somewhat technical question:

I'm running Ubuntu Linux.  I made a test bed server/client setup with the following configuration:

Server:
tremtest/tremded.x86  (TJW's latest tremded from tjw.org/tremulous/linux)
tremtest/base/data-1.1.0.pk3
tremtest/base/map-atcs-1.1.0.pk3
tremtest/base/server.cfg
tremtest/base/vm/game.qvm  (TJW's latest game.qvm from tjw.org/tremulous)

Client:
tremtest/tremulous.x86 (TJW's backported client from trem.tjw.org/backport)
tremtest/base/data-1.1.0.pk3
tremtest/base/map-atcs-1.1.0.pk3
tremtest/base/vms-1.1.0.pk3

You'll have to take my word for it that there is nothing significant in either computer's ~/.tremulous directory.

Let's say I run the server and try to connect to it using the client.

In server.cfg I have a line to set sv_pure.  When I +set sv_pure 0, everything works fine.  But when I +set sv_pure 1, the client fails on connect with the following message:
Code: [Select]
RE_Shutdown( 1 )
-----------------------
----- CL_Shutdown -----
-----------------------
Sys_Error: VM_Create on UI failed

So my question is, what kind of tremded or game.qvm do I need so that TJW's backported client can connect successfully when I have sv_pure=1?  It appears that TJW's tremded /game.qvm won't do it...?

DASPRiD

  • Administrator
  • Posts: 549
  • Turrets: +21/-2
    • http://www.dasprids.de
TJW's client and tremded incompatible with sv_pure=1? Nope!
« Reply #1 on: February 21, 2007, 09:31:48 am »
game.qvm goes to ~/.tremulous/base/vm/
url=https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=mail%40dasprids%2ede&item_name=DASPRiD%27s&no_shipping=0&no_note=1&tax=0&currency_code=EUR&lc=DE&bn=PP%2dDonationsBF&charset=UTF%2d8][/url]

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
TJW's client and tremded incompatible with sv_pure=1? Nope!
« Reply #2 on: February 21, 2007, 09:48:35 am »
It doesn't matter, if there are no other vm files to be had, it will be found where I put it.

Just for the sake of the argument, though, I put it in ~/.tremulous/base/vm on the server side, and I still got the same result.

DASPRiD

  • Administrator
  • Posts: 549
  • Turrets: +21/-2
    • http://www.dasprids.de
TJW's client and tremded incompatible with sv_pure=1? Nope!
« Reply #3 on: February 21, 2007, 10:10:17 am »
Hm, I also wonder about the error message itself. How do you start the server?
url=https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=mail%40dasprids%2ede&item_name=DASPRiD%27s&no_shipping=0&no_note=1&tax=0&currency_code=EUR&lc=DE&bn=PP%2dDonationsBF&charset=UTF%2d8][/url]

FooBar

  • Posts: 94
  • Turrets: +9/-1
    • http://avalanche.server.googlepages.com
TJW's client and tremded incompatible with sv_pure=1? Nope!
« Reply #4 on: February 21, 2007, 03:51:56 pm »
*sigh*  Sometimes I wonder how I can possibly be so dense...

Okay, I solved it.  You were partially right.  Here are the data files that I listed above on the server side, arranged from highest to lowest priority location:

Server:
~/tremtest/base/vm/game.qvm (TJW's latest game.qvm from tjw.org/tremulous)
~/tremtest/base/map-atcs-1.1.0.pk3
~/tremtest/base/data-1.1.0.pk3

But I was conspicuously missing an obvious server-side file.  As it turns out, the correct arrangement should have been (in order of priority):

Server:
*** ~/.tremtest/base/vm/game.qvm (moved)
*** ~/tremtest/base/vms-1.1.0.pk3
~/tremtest/base/map-atcs-1.1.0.pk3
~/tremtest/base/data-1.1.0.pk3

This provides TJW's game.qvm to the server first in the search order; but when it can't find ui.qvm and cgame.qvm it falls back on the default vms-1.1.0 in the base directory.

I had left that file out because I thought that cgame.vm and ui.vm were not important for a server.  But apparently, when you're running a PURE server, you still need those files so that it can check connecting clients against them.  If vms-1.1.0.pk3 is missing, client connects will fail with the message I gave earlier.

If you're running a non-pure server, it doesn't do the check and you can safely remove vms-1.1.0.pk3 and rely only on game.qvm.

Ah, well.  Now I know...  Thanks, DASPRiD!

PS. I was running the server with the following script file:
Code: [Select]
#!/bin/bash
./tremded.x86 +set dedicated 2 +set fs_homepath /home/foobar/.tremtest +exec server.cfg +set net_port 30000