|
|
|
|
|
September 18th, 2009, 04:08 AM
|
|
Corporal
|
|
Join Date: Jan 2009
Location: Espoo, Finland
Posts: 147
Thanks: 23
Thanked 2 Times in 2 Posts
|
|
Re: Linux Admining
Yeah, after that it asks for the game name and this happens.
Code:
-- Waiting for participants to connect -- , time left: 1 seconds
Arcoscephale open
Ermor open
Man open
Ulm open
Marignon open
Mictlan open
T'ien Ch'i open
Jomon open
Agartha open
Abysia open
Caelum open
C'tis open
Pangaea open
Midg�rd human controlled
Utg�rd open
Patala open
Gath open
Atlantis open
R'lyeh open
Pythium open
Bogarus open
Enter game name: rivers
N�got gick fel!
fg: bad u
N�got gick fel!
fg: bad u
dom_server.sh: line 19: 20308 Aborted $DOM -S -T --port $PORT $GAME --era $ERA --mapfile $MAP -q --indepstr 9 --uploadmaxp $START --diffai $AID --enablemod $MOD --preexec $BUP
|
September 18th, 2009, 12:40 PM
|
|
Shrapnel Fanatic
|
|
Join Date: Oct 2003
Location: Vacaville, CA, USA
Posts: 13,736
Thanks: 341
Thanked 479 Times in 326 Posts
|
|
Re: Linux Admining
I generally use pre.sh and post.sh
Also I think you want --preexec rather than --postexec
Once the game hosts, saving a copy is not much use since it will match the game itself. Players will complain about the hosting results in which case you want to be able to return to the files prior to hosting.
By the way, I find it more useful in many many ways to do
nice zip -9 game.zip * -x *game.zip -x z*
and then attach it to a email going to an address off-system.
That provides:
A) backup
B) dated multiple backups allowing restore to multiple points
C) security in case of system crashes or hard drive failures
D) ease of forwarding the latest games files to someone else in case they volunteer to pick up running the game for some reason
|
September 20th, 2009, 03:33 PM
|
|
Corporal
|
|
Join Date: Jan 2009
Location: Espoo, Finland
Posts: 147
Thanks: 23
Thanked 2 Times in 2 Posts
|
|
Re: Linux Admining
Thanks for the answers and help! I'm still struggling with the script, but will make it work somehow. Fortunately backing up files isn't mandatory. Happiness is
|
September 23rd, 2009, 02:05 PM
|
|
Corporal
|
|
Join Date: Jan 2009
Location: Espoo, Finland
Posts: 147
Thanks: 23
Thanked 2 Times in 2 Posts
|
|
Re: Linux Admining
Done! Thanks to my awesome anonymous friend and you guys my script is ready for hosting. Feel free to copy if you need such a simple script.
Code:
#!/bin/bash
# Tällä käynnistellään dqotonen domi hostaukset
# Jos tämä toimii siis!
GAME="Rivers"
MAP="Rivers.map"
ERA="3"
MOD="CBcomplete_1.6.dm"
AID="0"
NID="0"
START="5"
HOF="15"
IND="5"
PORT="3737"
DOM="/home/dom/dominions3/dom3"
$DOM -S -T --port $PORT $GAME --era $ERA --mapfile $MAP \
-q --indepstr $IND --uploadmaxp $START --diffai $AID --normai $NID \
--noscoregraphs --hofsize $HOF --enablemod $MOD \
--preexec /home/dom/backup.sh
Code:
#!/bin/bash
rsync -a /home/dom/dominions3/savedgames/ /home/dom/dominions3/backup/
|
The Following User Says Thank You to Lihaässä For This Useful Post:
|
|
September 24th, 2009, 04:04 AM
|
Private
|
|
Join Date: May 2008
Posts: 29
Thanks: 3
Thanked 4 Times in 4 Posts
|
|
Re: Linux Admining
Quote:
Originally Posted by Lihaässä
Code:
#!/bin/bash
rsync -a /home/dom/dominions3/savedgames/ /home/dom/dominions3/backup/
|
I see a couple of problems here: - You copy all games every time any game hosts. Which clobbers the backups of all games other than the one about to be hosted.
- You only maintain a backup of the latest turn. This will cause trouble when the game manages to **** itself up so that it crashes at next hosting, because by the time you notice it crashing, you've clobbered the backup from before it broke.
(Yes, this can happen. Guess what made me think it was a good thing I was already backing up all truns?)
If you look approximately halfway up the thread, I've posted a backup script that has neither of those particular issues.
|
The Following User Says Thank You to Ornedan For This Useful Post:
|
|
September 24th, 2009, 08:52 AM
|
|
Corporal
|
|
Join Date: Jan 2009
Location: Espoo, Finland
Posts: 147
Thanks: 23
Thanked 2 Times in 2 Posts
|
|
Re: Linux Admining
You are correct, the script is simple but easily altered to backup only one game.. in this case /home/dom/dominions3/backup/Rivers/
I hope that the game won't crash and use this one.
Your script was too much for me and I didn't understand it. Thanks for your input. I will look it again when I find the time.
|
September 24th, 2009, 09:24 AM
|
Private
|
|
Join Date: May 2008
Posts: 29
Thanks: 3
Thanked 4 Times in 4 Posts
|
|
Re: Linux Admining
Most of my backup script is about finding the current turn number and handling edge cases like being somehow called to backup a non-existent game (not detecting conditions like that will at best result in the script crashing and at worst data loss as it goes blindly ahead to do something stupid).
Doing
Code:
--preexec /home/dom/backup.sh "$GAME"
and
Code:
#!/bin/bash
rsync -a "/home/dom/dominions3/savedgames/$1" /home/dom/dominions3/backup
would have your backup command be parametrised by game name, so it'll backup each game to separate directory. Though I guess that might have been what you meant?
|
The Following User Says Thank You to Ornedan For This Useful Post:
|
|
September 24th, 2009, 10:23 AM
|
Private
|
|
Join Date: May 2008
Posts: 29
Thanks: 3
Thanked 4 Times in 4 Posts
|
|
Re: Linux Admining
Looks like edit period ran out... It should have been
Code:
--preexec "/home/dom/backup.sh \"$GAME\""
|
September 24th, 2009, 10:48 AM
|
|
Corporal
|
|
Join Date: Jan 2009
Location: Espoo, Finland
Posts: 147
Thanks: 23
Thanked 2 Times in 2 Posts
|
|
Re: Linux Admining
It works perfectly!
|
September 30th, 2009, 07:00 AM
|
|
General
|
|
Join Date: Feb 2007
Location: R'lyeh
Posts: 3,861
Thanks: 144
Thanked 403 Times in 176 Posts
|
|
Re: Linux Admining
Hi there, I see that people are sharing their Linux server scripts here. In case it helps: somebody contacted me about the Linux server scripts that I use for administrating my Dom3 games around June, here's what I sent back. Configuration is done by editing the GAME and PORT variables inside the scripts, and by setting the player's email addresses for email notification in the post-exec script.
Main script "MyGame.sh", this is being started in a "screen" session
PHP Code:
#!/bin/bash
GAME=MyGame PORT=1337 DIR="/home/dom3/dominions3/savedgames/"$GAME
mkdir $DIR &>/dev/null
# reset timer for the stats.php script if [ -e $DIR/ftherlnd ] then touch $DIR/ftherlnd fi
~/Dom3/dom3 $GAME --port $PORT -STddd --scoredump --renaming \ --era 2 --mapfile 'MyGameMap.map' \ -q \ --masterpass MyGamePassword \ --noclientstart --uploadmaxp 7 \ --hofsize 15 --indepstr 6 --renaming \ --preexec /home/dom3/dominions3/${GAME}_pre.sh --postexec /home/dom3/dominions3/${GAME}_post.sh \ >>$DIR/$GAME.log 2>>$DIR/$GAME.err
Pre-hosting script "MyGame_pre.sh", this is being started before hosting and makes a backup of the game/turn data
PHP Code:
#!/bin/bash
GAME=MyGame PORT=1337 DIR="/home/dom3/dominions3/savedgames/$GAME"
# make backups pushd "$DIR/.." tar czf "/home/dom3/dominions3/backups/"$GAME-$(date +%s)-pre.tgz $GAME popd
# blank the log files after backup cp /dev/null $DIR/$GAME.log cp /dev/null $DIR/$GAME.err
Post-hosting script "MyGame_post.sh", this is being started after hosting and makes a backup of the game/turn data, updates my online game statistics and sends a notification to the other players
PHP Code:
#!/bin/bash
GAME=MyGame PORT=1337 GAMElow=`echo $GAME | tr "[:upper:]" "[:lower:]"` DIR="/home/dom3/dominions3/savedgames/$GAME" SENDMAIL="sendmail -t "
# make backups & save scores pushd "$DIR/.." tar czf "/home/dom3/dominions3/backups/"$GAME-$(date +%s)-post.tgz $GAME php /home/dom3/dominions3/backups/scores2mysql.php "$GAME/scores.html" popd
# blank the log files after backup cp /dev/null $DIR/$GAME.log cp /dev/null $DIR/$GAME.err
# email notify players that have asked to be told of turns Player1=player1@email.com Player2=player2@email.com Player3=player3@email.com Player4=player4@email.com Player5=player5@email.com Player6=player6@email.com
# the actual sendmail needs a single dot "." in the last line at the end of the message, nbsmtp does not $SENDMAIL <<EOF From: '$GAME' Dom3 game server <$GAMElow@my-own.email> Bcc: $Player1, $Player2, $Player3, $Player4, $Player5, $Player6, $GAMElow@my-own.email Subject: $GAME has hosted!
The Dominions 3 game you are playing in ($GAME) has processed a new turn. Please connect to server dom3.servegame.com port $PORT to play your next turn!
Here is the turn status page for the game: http://dom3.servegame.com/stats/stats.php?game=$GAME
EOF
I am not hosting games right now and my Dom3 activities are in hiatus, but maybe these shell scripts are an inspiration for somebody else. I needed to use PHP syntax highlighting environment here because the CODE environment doesn't display the shell code correctly. (double <)
Last edited by lch; September 30th, 2009 at 07:11 AM..
|
The Following 2 Users Say Thank You to lch For This Useful Post:
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is On
|
|
|
|
|