On a Windows server, if a zone crashes, it will send the message box to the server about the crash with the OK button on it. Every zone that crashes will send another box. For every zone that crashes, it won't be allowed to restart until you actually click the OK button on the box from the crash.
Since Linux doesn't popup a similar message, I was wondering if there is a way to restart crashed dynamic zones. I set 50 dynamics and 1 crashed earlier and it didn't restart. The EQEmulator Management panel lists 49 booted zones instead of 50. Does anyone know how to correct this? Maybe there is something I can add in my script to start the world server?
Another thing I have noticed differently about Linux so far is that characters seem to sometimes bounce about 1 time per second if they have been standing idle for a while. I am not sure if this is some kind of zone update or what, but the closest thing I saw on windows was 1 time per minute all NPCs would bounce. Maybe something is set wrong, or is that normal?
Last, I was wondering if anyone had any newer scripts for starting and stopping the world server on Linux other than the ones from PEQ in the "Yet Another Linux Guide" from the wiki. It seems like those are probably old, but maybe they are already pretty tweaked. I won't even pretend to understand them, I was just wondering if there was a more tweaked version out there or if it even matters at all.
Also, if there is possibly a way to have all log files wrap after they reach a certain size, that would be awesome! I am afraid mine will start filling up my hard drive fast. From reading the scripts, I am guessing that they delete all log files after you issue the stop script for the server and start fresh ones when you start it again. But, setting a limit on the size would help a ton.
Here is the start script I am currently using. Also, I am not sure if I need to change the word "test" in there to something else, but it seems to work as is I guess lol:
Code:
#!/bin/sh
ulimit -c 99999999
rm -f .zone_shutdown
rm -f .world_shutdown
set -x
LNAME="zone" #launcher name
if [ "$1" = "test" ]; then
LNAME="test"
fi
P=`pwd`
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$P"
#make sure we have a place to log
mkdir -p logs 2>&1 > /dev/null
#clear out old logs, if both are stopped
if [ ! -e .lock-zones -a ! -e .lock-world ] ; then
for f in logs/eqemu_*.log
do
if [ "$f" = "logs/eqemu_commands_zone.log" ]; then
continue;
fi
rm -f $f
done
fi
#boot up world
if [ ! -e .lock-world ] ; then
touch .lock-world
# ./world 2>&1 > logs/world &
./persist_world 2>&1 > logs/world &
# wait for shared memory to load
sleep 15
fi
#start up the official launcher
if [ ! -e .lock-launcher ]; then
touch .lock-launcher
./eqlaunch $LNAME 2>&1 > logs/launcher &
fi
And here is persist_world:
Code:
#!/bin/sh
ulimit -c 99999999
while true
do
./world "$@"
if [ -r ".world_shutdown" ]; then
exit 0
fi
echo `date` "World crashed." >>crashlog
sleep 2
done
I am still learning, but I learn fairly quick, so please bear with me :P