|
|
|
|
|
September 18th, 2009, 03:50 AM
|
|
Corporal
|
|
Join Date: Jan 2009
Location: Espoo, Finland
Posts: 147
Thanks: 23
Thanked 2 Times in 2 Posts
|
|
Re: Linux Admining
Thanks vfb. I'm almost there, you are correct, there is no need for "-g" command. At the moment the script looks like below. The game starts but when trying to play a turn it just closes the gamewindow. It also says "send, broken pipe"
Code:
#!/bin/bash
# Tällä käynnistellään dqotonen domi hostaukset
# jee
GAME="rivers"
MAP="Rivers.map"
ERA=3
MOD="CBcomplete_1.6.dm"
BUP={rsync -a /home/dom/dominions3/savedgames/* /backup/}
AID="0"
START=5
PORT="2222"
DOM="/home/dom/dominions3/dom3"
$DOM -S -T --port $PORT $GAME --era $ERA --mapfile $MAP \
-q --indepstr 9 --uploadmaxp $START --diffai $AID --enablemod $MOD --postexec $BUP
|
September 18th, 2009, 03:58 AM
|
|
General
|
|
Join Date: Mar 2007
Location: Japan
Posts: 3,691
Thanks: 269
Thanked 397 Times in 200 Posts
|
|
Re: Linux Admining
Did you try this?
BUP="rsync -a /home/dom/dominions3/savedgames/* /backup/"
__________________
Whether he submitted the post, or whether he did not, made no difference. The Thought Police would get him just the same. He had committed— would still have committed, even if he had never set pen to paper— the essential crime that contained all others in itself. Thoughtcrime, they called it. Thoughtcrime was not a thing that could be concealed forever.
http://z7.invisionfree.com/Dom3mods/index.php?
|
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 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:
|
|
September 30th, 2009, 10:59 AM
|
|
Shrapnel Fanatic
|
|
Join Date: Oct 2003
Location: Vacaville, CA, USA
Posts: 13,736
Thanks: 341
Thanked 479 Times in 326 Posts
|
|
Re: Linux Admining
More script examples are always helpful. I also have the old Dom2 pbem BBS using php and sql. I dont remember if Ive seen Llamabeasts scripts since about mid-way thru the discussions on creating his server. Those would be worthy to look at also.
One thing Id add would be the mail support. Ive played abit with
mail, sendmail, mutt, pine, postfix, mpack/munpack, and biabam. If I remember right I got them all to work. But now for receiving player files I use munpack, and for sending turn attachments I prefer biabam. I also like to attach the backup files to an outgoing email just to have them off-system
Gandalf Parker
--
You dont use Linux if you like asking a question and getting an answer.
You use Linux if you like asking a question and getting a hundred answers on a hundred different ways of doing the same thing.
|
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
|
|
|
|
|