[cod] Start COD4 Linux Dedicated via Webinterface
B.M. Schiltmans
b.m.schiltmans at planet.nl
Sun Dec 13 11:07:32 EST 2009
Not sure if it's going to be much use, but here we go.
Script is called rotatecod4 and without arguments it (re)starts cod4.
When supplied with 'stop-only' as argument it ... just stops the server.
I added some extra comment-lines to make it a bit readable. Could have
removed a few lines, but I just wanted to show off ;-)
#!/bin/sh
# kill the running server, if any
killall cod4_lnxded-bin
# move the logfile for our stats-pages
chmod o+rw /home/games/.callofduty4/mods/lanparty/Server1_mp.log
mv /home/games/.callofduty4/mods/lanparty/Server1_mp.log
/home/games/logfiles/cod4/`date +%d-%m-%y_%T.log`
if [ ! "$1" = "stop-only" ]; then
# call scripts that allows auto-balancing of teams bases on statistics
for stats-pages (very nice if I may say so ;-) )
/home/games/csscripts/teamgenerator.sh cod4
# change to right directory
cd /home/games/cod4/
# get a random map to start with
cp /home/games/cod4/maplist.txt_org /home/games/cod4/maplist.txt
ls /home/games/cod4/usermaps >> /home/games/cod4/maplist.txt
STARTMAP=`php /home/games/csscripts/shuffle_file.php
/home/games/cod4/maplist.txt /home/games/cod4/maplist.txt`
# start the server
screen -d -m /home/games/cod4/cod4_lnxded-bin +set dedicated 1 +exec
hardcore.cfg +map_rotate +map $STARTMAP +set fs_game mods/lanparty
# start an extra script that auto-switches players in teamspeak based
on the team they are currently in
/home/games/csscripts/rotatetsas.sh
/home/games/.callofduty4/mods/lanparty/Server1_mp.log
fi
Grtz
Bram
Taraman wrote:
> Hi Bram,
>
> WOW, I'm impressed. That is one nice piece of work.
>
> As for my problem:
> I use cod4_lnxded as executable, but also tried the -bin already.
> The command line is right now:
> +exec server.cfg +map mp_crash +set dedicated 1
>
> options I also tried:
> +set fs_homepath
> +set fs_basepath
>
> What is your commandline for a LAN-Setup?
>
> For my part I chose direct control because it should stay simple and
> mainly be a backup when I cannot visit myself at one of our meetings
> (we are normally around 8-10 people). So this really is a private use
> thing.
>
> Taraman
>
> On 11.12.2009 20:11, B.M. Schiltmans wrote:
>> If the others run fine, I can't really think of anything cod-specific
>> that could go wrong.
>> Which executeable do you see in top cod4_lnxded or cod4_lnxded-bin,
>> and whats you exact command-line?
>>
>> We have a setup quite like yours, perhaps we could share some ideas?
>> To begin with some sharing ;-), take a look here :
>> http://lanparty.cil.nu/
>> Instead of starting the gameservers through a webinterface, we let
>> players vote for which game they want to play, and then a scripts is
>> run to count the votes and start the winning game. Works great ;-)
>> Two main reasons for not having direct control:
>> - security, we run the same thing on lans, but also on our website
>> for evening fun
>> - we only run one gameserver at a time because otherwise people tent
>> to spread out over games more instead of playing together.
>> Af course it all depends on how big your lan-events are.
>>
>> Grtz
>> Bram
>>
>> Taraman wrote:
>>> Hi,
>>>
>>> Thx for the comments.
>>> First of all: Security is not an issue here, because its a LAN-only
>>> server and at the Site we do our LAN-Parties (me and some Friends)
>>> we don't even have Internet. Yes, there are places like that -
>>> honestly ;-)
>>> Nevertheless the gameserver is started as a "normal" user and the
>>> Webserver runs as the same user - NOT as root.
>>> And I wouldn't do it that way on a public machine - to calm your
>>> apprehension.
>>>
>>> As for Bram's comment:
>>> Good hint, I definitely have a closer look at that.
>>> But I fear thats not the problem, because of a fact that I forgot in
>>> the description:
>>> I start two other Gameservers (CSS and BF2) via the exact same
>>> script and checked severeal times the calls are really identical.
>>> These two work perfectly.
>>> Only the cod4 server starts very shortly (it just shows up for a
>>> moment in "top" and then disappears again.)
>>>
>>> Thats why I started asking here, bacause it seems to be beacuse of
>>> something thats different on the cod-server.
>>>
>>> Taraman
>>>
>>> Tyson schrieb:
>>>> Yes please. Including system paths that are typically the same on
>>>> every
>>>> machine running the same OS isn't insecure last I knew.
>>>>
>>>> Setting wrong permissions on the other or running as root is.
>>>>
>>>> So please enlighten us and provide sources.
>>>>
>>>> Tyson
>>>>
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: B.M. Schiltmans [mailto:b.m.schiltmans at planet.nl] Sent:
>>>> Wednesday, December 09, 2009 10:12 AM
>>>> To: Call of Duty server admin list.
>>>> Subject: Re: [cod] Start COD4 Linux Dedicated via Webinterface
>>>>
>>>> Well if you explain yourself a bit further we might just learn
>>>> something here.
>>>> Humor me, plz...
>>>>
>>>> Marco Padovan wrote:
>>>>> that's a very insecure way to start gameservers :/
>>>>>
>>>>>
>>>>> On Wed, Dec 9, 2009 at 3:55 PM, <b.m.schiltmans at planet.nl
>>>>> <mailto:b.m.schiltmans at planet.nl>> wrote:
>>>>>
>>>>> Sound like a problem with uninitialized (system)variables. When a
>>>>> command is started through php, it doesn't load your profile and
>>>>> therefor things like your path are not set. Try including
>>>>> paths on
>>>>> all commands, so /usr/bin/screen instead of just screen.
>>>>>
>>>>> Hope that helps.
>>>>> Grtz
>>>>> Bram
>>>>>
>>>>>
>>>>> -----Oorspronkelijk bericht-----
>>>>> Van: Taraman [mailto:Taraman at gmx.de]
>>>>> Verzonden: wo 9-12-2009 13:54
>>>>> Aan: cod at icculus.org <mailto:cod at icculus.org>
>>>>> Onderwerp: [cod] Start COD4 Linux Dedicated via Webinterface
>>>>>
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> I'm just programming a Webinterface for our LAN-server.
>>>>> My problem is, that the cod4 server does not start via the
>>>>> Webinterface.
>>>>>
>>>>> I have a Shell-script called gameserver.sh that starts the
>>>>> different
>>>>> servers via "/somedir/gameserver.sh cod4 start"
>>>>> This script works fine when used from a terminal - also if
>>>>> called from
>>>>> different directories. The Server itself is then running like
>>>>> a charm.
>>>>> The Script basically changes the directory to the game directory
>>>>> via "cd
>>>>> /home/me/cod4" and then launches the server with Screen -dmS
>>>>>
>>>>> In the Webinterface the script is called by PHP with
>>>>> "System('/home/me/gameserver.sh cod4 start', $status);"
>>>>> With this the Script says "Server Started" and the program is
>>>>> launched,
>>>>> but the process dies again immediately.
>>>>>
>>>>> I have a hard time debugging the error, because I don't get
>>>>> any error
>>>>> messages. The server does not live long enough to write a log
>>>>> and the
>>>>> PHP System command does not give me any useful output (I also
>>>>> tried to
>>>>> start the server directly).
>>>>>
>>>>> Does anyone have an Idea, what the problem is, or how I can
>>>>> get useful
>>>>> error Information?
>>>>>
>>>>> Taraman
>>>>>
>>>>> _______________________________________________
>>>>> cod mailing list
>>>>> cod at icculus.org <mailto:cod at icculus.org>
>>>>> http://icculus.org/mailman/listinfo/cod
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> cod mailing list
>>>>> cod at icculus.org <mailto:cod at icculus.org>
>>>>> http://icculus.org/mailman/listinfo/cod
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> cod mailing list
>>>>> cod at icculus.org
>>>>> http://icculus.org/mailman/listinfo/cod
>>>> _______________________________________________
>>>> cod mailing list
>>>> cod at icculus.org
>>>> http://icculus.org/mailman/listinfo/cod
>>>>
>>>> No virus found in this incoming message.
>>>> Checked by AVG - www.avg.com Version: 9.0.709 / Virus Database:
>>>> 270.14.101/2555 - Release Date: 12/09/09
>>>> 12:41:00
>>>>
>>>> _______________________________________________
>>>> cod mailing list
>>>> cod at icculus.org
>>>> http://icculus.org/mailman/listinfo/cod
>>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> cod mailing list
>>> cod at icculus.org
>>> http://icculus.org/mailman/listinfo/cod
>> _______________________________________________
>> cod mailing list
>> cod at icculus.org
>> http://icculus.org/mailman/listinfo/cod
>>
> _______________________________________________
> cod mailing list
> cod at icculus.org
> http://icculus.org/mailman/listinfo/cod
>
More information about the cod
mailing list