RegisterRegister    Log inLog in    SearchSearch   

Post new topic   Reply to topic
 
View previous topic :: View next topic  
Author Message
chumly



PostPosted: Sun Dec 24, 2006 5:52 pm    Post subject: BF Vietnam problems Reply with quote

Hi!

First, BF Vietnam did not install on my linux server...

So I downloaded and installed it manually...

The config files needed to be changed to lower case on GC to match the new file name format.

Started server fine, and it appears to work ok, but GC does not detect the process is running, and restarts the game server..... over and over and over...

I've tried the 'screen' startup script that was offered for BF2, but that did not solve the problem.

Is anyone successfully running BF Vietnam on linux?
Could you please offer some help?

Thanks
Chumly
Back to top
View user's profile Send private message
adbot



PostPosted: Thu Mar 31, 2011 3:57 am 

chumly



PostPosted: Sun Dec 24, 2006 7:15 pm    Post subject: Reply with quote

I have been able to get the server to start ok using the following line placed in the start.sh file.


exec screen -mdS BFV1 ./bfv_linded +game bfvietnam +hostserver 1 +dedicated 1 +overlayPath 23000


However, GC doesn't seem to know what process it is, and ends up start more and more of these screens....

Also: GC tries to run the static linked version rather than the dynamic one that the start file likes to run... is there a method of changing this?

thanks!
Chumly
Back to top
View user's profile Send private message
Andrew
Mammoth


PostPosted: Fri Dec 29, 2006 1:46 pm    Post subject: Reply with quote

Try prefixing the command in start.sh with: exec

exec causes the launched process to fall under the parent's process Id.

Which file should GC be starting for you to make it work?
Back to top
View user's profile Send private message
chumly



PostPosted: Fri Dec 29, 2006 1:58 pm    Post subject: Reply with quote

Hi Andrew,

hope you had a good X-mas!

ok, start.sh by default has 'exec ./bfv_linded $@'

./bfv_linded is a symbolic link to the static or dynamic version, which start.sh tests for and creates when run.

But the bfv_lined.static is the one currectly being run. ( odd.. last install it was the dynamic one... )
I'm currently using screen to start it, and its process ID will not change... Perhaps you could change the command line to use 'screen -mdS %name%'?

Could you help me understand how GC follows the process id? I guess its not trying to read a .pid file, but just remembering the initial process it starts. yes/no?


Now with my css servers, ( 3 of them.. ) I have it set to restart at 5:00am... at 5:05, I have 6 css servers... doesn't seem to be killing the old ones, and also it generally can not stop the 'new' three it starts. ( game monitoring is off because of the bfv problem )

Thanks!
Chumly


Last edited by chumly on Fri Dec 29, 2006 2:06 pm; edited 1 time in total
Back to top
View user's profile Send private message
Andrew
Mammoth


PostPosted: Fri Dec 29, 2006 2:06 pm    Post subject: Reply with quote

Hey,

GC Client is currently setup to read:

%server:port%\BFVIETNAM.pid

For the process's pidfile. The game should be writing the pid to this file.

I've changed the linux executable to be run as start.sh

This should hopefully mean GC starts the correct binary, as per what start.sh dictates.

See how your servers start now?
Back to top
View user's profile Send private message
chumly



PostPosted: Sat Dec 30, 2006 12:29 am    Post subject: Reply with quote

hum...
That doesn't seem to start the server.
If I manually input the line into the console, it works fine, but GC doesn't get it going.

./start.sh +game bfvietnam +hostserver 1 +dedicated 1 +overlayPath 23050

Currently, if I try to get GC to start the game, it does not appear to start a process, and no 'bfvietnam.pid' file is created.

Thanks!
Chumly
Back to top
View user's profile Send private message
chumly



PostPosted: Sat Dec 30, 2006 6:27 am    Post subject: Reply with quote

oh,

I also notice that the pid file you list in the previous message is uppercase.
The pid file that is created on my server is lowercase.

Just FYI.

Thanks
Chumly
Back to top
View user's profile Send private message
Andrew
Mammoth


PostPosted: Sat Dec 30, 2006 11:55 am    Post subject: Reply with quote

Changed GC to look for the lowercase version, see how that goes.
Back to top
View user's profile Send private message
chumly



PostPosted: Sun Dec 31, 2006 2:11 am    Post subject: Reply with quote

Thanks Andrew,

However, Since the change in the command line it does not even start the process. Perhaps the only problem was the uppercase issue. could you put it back to ./bfv_linded.static and we'll see if it all works now.

Thanks
Chumly
Back to top
View user's profile Send private message
Andrew
Mammoth


PostPosted: Sun Dec 31, 2006 11:19 am    Post subject: Reply with quote

Done.
Back to top
View user's profile Send private message
chumly



PostPosted: Sun Dec 31, 2006 2:19 pm    Post subject: Reply with quote

HI Andrew,

Nope, same problem.
GC seems to be able to see the .pid file, and the pidfile does contain the correct pid, but it keeps restarting the service every few minutes.

PID file contains:
-------------

5235
1074062720

-------------

Error Message:
-------------
Start GameCreate attempted to start Bears Den. 12/30/2006 21:29:17
Stop GameCreate stopped Bears Den. 12/30/2006 21:29:15
Fail Query Failure 12/30/2006 21:29:07
Start GameCreate attempted to start Bears Den. 12/30/2006 21:26:49
Stop GameCreate stopped Bears Den. 12/30/2006 21:26:45
Fail Query Failure 12/30/2006 21:26:33
--------------

Interesting that it knows what process to stop, but it can't 'query' it. What is it that it wants?

Thanks, and happy new year!
Chumly
Back to top
View user's profile Send private message
Andrew
Mammoth


PostPosted: Mon Jan 01, 2007 11:59 am    Post subject: Reply with quote

Its not a process problem in this case - the server just cant be queried externally (meaning, no one could connect to it anyway).

Turn off server queries on the Host Configuration tab for a moment.

Start a server, then try querying the server for the given address.

Make sure you are running the latest Gamecreate client - you should have a multiserv.so file in your gamecreate directory.
Back to top
View user's profile Send private message
chumly



PostPosted: Tue Jan 02, 2007 5:02 am    Post subject: Reply with quote

Hi Andrew,

No, the server is queryably, and we do have players using it.
This is the problem we started with.
The GC client is the current one, and i do have the multiserv.so file.

Thanks
Chumly
Back to top
View user's profile Send private message
chumly



PostPosted: Tue Jan 02, 2007 8:35 am    Post subject: Reply with quote

Hi Andrew.

It appears that BFV is adding a 'port-fix' command to the command line. It's adding 125 to the port numbers.... I dont know why, and haven't found and documentation on this command.

Also, I don't think it's doing it properly either....
First server at port 23000 - command line :

/home/gc/bfv/bfv_linded.static +game bfvietnam +hostserver 1 +dedicated 1 +overlayPath 23000 --port-fix 23000=23125

Second server at port 23050 - command line :

/home/gc/bfv/bfv_linded.static +game bfvietnam +hostserver 1 +dedicated 1 +overlayPath 23050 --port-fix 23000=23175

Notice both lines have --port-fix 23000
Second server is responding at port 23175, but the first one is not responding at 23000, or 23125.

Now heres some more fun.
I netstat -ap | grep 23050 and I see the second server process on that port.
I do the same for 23175, and I see the second sever process.
I do the same for 23125, and I see the first server process.
i do the same for 23000, and I dont see any process.
i do the same for 23001, and I see the first server.

The first server does respond on port 23001..... WTF!!!

Ok, So if I stop both, default all the config files, and start the first server only, this is the ports it is using...

tcp 0 0 *:23012 *:* LISTEN 31765/bfv_linded.st
tcp 0 0 *:23006 *:* LISTEN 31765/bfv_linded.st
udp 0 0 *:23123 *:* 31765/bfv_linded.st
udp 0 0 *:23125 *:* 31765/bfv_linded.st
udp 0 0 *:23001 *:* 31765/bfv_linded.st


Note that I can query this server at port 23001, not 23000. ( god only knows why it won't take 23000 )

If I stop both, and start the second one... ( with same sonfigs )

tcp 0 0 *:23062 *:* LISTEN 31833/bfv_linded.st
udp 0 0 *:23173 *:* 31833/bfv_linded.st
udp 0 0 *:23175 *:* 31833/bfv_linded.st
udp 0 0 *:23050 *:* 31833/bfv_linded.st

I see that port 23056 is not used... but this server also hasn't updated the PB version to 1.229 yet, so that may be part of it.

Now the second server is only queryable at port 23175. not 23050...

So, long long story short.... Looks like we need to test for server at server:port, server:port+1, server:port+125.

Or does anyone else have any suggestions?

Thanks!
Chumly
Back to top
View user's profile Send private message
Andrew
Mammoth


PostPosted: Sat Jan 06, 2007 4:47 pm    Post subject: Reply with quote

Portfix is apart of GameCreate's MultiServ utility - You should have a multiserv.so file in your gamecreate directory.

Multiserv forces a game to bind to a specific server port when the game does not support it manually.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum powered by phpBB © 2001, 2005 phpBB Group
GameCreate Service Terms | Privacy Policy | © Copyright Mammoth Media 2001-2007
GameCreate™ is a trademark of Mammoth Media Pty Ltd. GameCreate® is a registered trademark in Australia.