home · contact · privacy
Server, plugin: Refactor thingproliferation (plugin integration).
[plomrogue] / start_server_client_union.sh
index ac161b5d596fe0d74432c634772a2ea9b60a4290..f6c194fafcff9fd3b89f9fc9eed7d15c2495923d 100755 (executable)
@@ -3,23 +3,31 @@
 # Abort the script on error.
 set -e
 
-# Give helpful message to players that want to start without compiling first.
-if [ ! -e ./roguelike-server ]
+# Don't let any log leftovers from before interfere.
+if [ -e ./log ]
 then
-    echo 'No ./roguelike-server file found to execute. Try "make" first?'
-    false
+    rm log
 fi
-if [ ! -e ./roguelike-client ]
+
+# Abort if no proper Python version installed.
+test=`command -v python3 | wc -l`
+if [ 1 -gt $test ]
 then
-    echo 'No ./roguelike-client file found to execute. Try "make" first?'
-    false
+    echo "FAILURE:"
+    echo "No python3 installed, but it's needed!"
+    exit 1
+fi
+
+# Give helpful message to players that want to start without compiling first.
+if [ ! -e ./libplomrogue.so ]
+then
+    echo 'No ./libplomrogue.so library found. Building …'
+    ./build.sh
 fi
 
 # Use shell script's arguments for server and pipe server output to log file.
 # This script's wrapper script will read it out on exit.
-./roguelike-server "$@" > log 2>&1 &
-
-echo TEST >> log
+python3 ./roguelike-server "$@" > log 2>&1 &
 
 # Give server some time to start up and exit on error.
 sleep 0.01
@@ -31,12 +39,12 @@ kill -0 $! 2> /dev/null
 
 # Give server some time (max. 10 seconds) to generate its worldstate file.
 i=0
-while [ ! -e server/worldstate ] && [ $i -le 1000 ]
+while [ ! -e server_run/worldstate ] && [ $i -le 1000 ]
 do
     sleep 0.01
     i=`expr $i + 1`
 done
-if [ ! -e server/worldstate ]
+if [ ! -e server_run/worldstate ]
 then
     echo "Server failed generating worldstate file within given time limit."
     false
@@ -44,4 +52,4 @@ fi
 
 # Only start the interface when everything else went well.
 kill -0 $! 2> /dev/null
-./roguelike-client
+python3 ./roguelike-client