a pure Raspi web server with Raspbian Debian

Raspberry pi server

 Setups and configurations

 Raspberry pi - Rpi

 Apache / LAMP server

Windward

 The game not the island group

anchor life saver

 Regarding unity3d

🙂 In-game char icons

 Public game server settings

🛠 Hafenzoll @raspberry
🛠 Windward defaults

 Social news aggregation

Community @steam
🌍 Windward #reddit

 Official Windward wiki

🛠 Wiki @gamepedia
Duckduckgo pirate flag
Something else

 This is in German language

💻 Linux - ubuntusers.de

 Get a handy weather widget

🌤 Weather code snippet

 Hotchpotch of weblinks

📖 Yellow pages

 We got some boring movies

🎥 Cinematique
Archives
Search cloud
Front desk clerk

No ads, no trackers and
no web beacons. Promised.

Raspberry pi | Setup dedicated Windward game server


Validated to Linux, Raspberry pi, MS Windows
I don't know how to setup under Mac OS X.


Note: PuTTy SSH and telnet client used for $bash.

user@raspberry:~ $


WWServer.exe


Be god of the multiplayer world with a dedicated server on your Raspberry pi.
Whether you want to play a game, mode or mod that simply isn't that popular online, here is how to do it.
Please note that for this article, we will be working in Microsoft Windows.

Windward comes with a dedicated server executable called WWServer.exe

This is one of the files you need to actually host the dedicated game server. WWServer.exe requires Mono 2.0 on your system installed. The always lastest WWServer.exe can be found in your Steam folder: /Steam/steamapps/common/Windward or @Tasharen (not always the latest).
If you have a firewall running, permit WWServer.exe to deal with incoming and outgoing traffic.

Image courtesy of Tasharen.com


Parameters


-name "Your Server" ⇦ name your server
-world "Your World" ⇦ specify which world (e.g. World.dat) file to load
-tcp [port] ⇦ TCP port for clients to connect to (default is 5127)
-public ⇦ register your dedicated server to the public lobby
-localpath ⇦ server will use the current folder indead of /My Documents/Windward/
-http ⇦ displays players on server
-service ⇦ run it as a service


MS Windows

WWServer.exe -world "World" -name "My Server" -tcp 5127 -public -http


Linux

mono WWServer.exe -world "World" -name "My Server" -tcp 5127 -public -http


The argument with -http

Navigating to your server’s address in the web browser e.g. http://192.168.0.10:5127 will show you how many players are rioting on your dedicated game server and who they are.

        Name: (T) 03-Jun 2016 Hafenzoll@raspberry demonstrative server
        Clients: 6
        PlayerA
        PlayerB
        PlayerC
        ...
        

Simple html-code with 30 seconds refresher.


        <!DOCTYPE html>
        <html lang="en">
        <head>
        <meta charset="UTF-8">
        <title>http WW users</title>
        <meta http-equiv="refresh" content="30">
        <style>
        iframe {
               border: none;
               }
        </style>
        </head>
        <body>
               <p><iframe src="http://192.168.0.10:5127"></iframe></p>
        </body>
        </html>
		

Windward dedicated multiplayer game server


Modem / Router settings


Login to your router's UI (User Interface) and allow port forwarding TPC on port 5127 for your Raspberry pi device. If possible allow UPnP (Universal Plug and Play) as well.


Preparing your Raspberry pi


Install Mono on Linux. The package mono-complete should be installed to install everything - this should cover most cases of “assembly not found” errors.

user@raspberry:~ $ sudo su
root@raspberry:~# apt-get install mono-complete


After all just type

root@raspberry:~# mono


to verify the installation is completed.

        Usage is: mono [options] program [program-options]
        ...
		
We need the appropriate folders for Windward.

root@raspberry:~# cd
root@raspberrypi:# mkdir Windward
root@raspberrypi:# cd Windward
root@raspberrypi:/Windward# mkdir Worlds


Copy file WWServer.exe via FTP-client e.g. WinSCP or FileZilla from /Steam/steamapps/common/Windward to /Windward/Worlds - In case your FTP-clients grumbles with that, then we change the owner and redo.

root@raspberrypi:/Windward# chown -R pi /Windward
root@raspberrypi:/Windward# chown -R pi /Windward/Worlds


Generate a new world


Create a new world in Windward, pass through everything: [World Options] [Factions] [Edit] and finally choose [Play] in [Single Player].
You enter the new world and type /info in chatbox. Note your Steam-ID!
Stay on map for at least one minute then [Quit] Windward.
Copy files *.dat and *.dat.config (* = name given) via FTP to /Windward/Worlds

Start-up server via rc.local


This describes the simpliest way to operate the Windward server with your Raspberry pi.
In order to have a command or program run when the Pi boots, you can add necessary commands to the rc.local file. Modify rc.local by command:

root@raspberrypi:/Windward# sudo nano /etc/rc.local


        #!/bin/sh -e
        #
        # rc.local
        #
        # This script is executed at the end of each multiuser runlevel.
        # Make sure that the script will "exit 0" on success or any other
        # value on error.
        #
        # In order to enable or disable this script just change the execution
        # bits.
        #
        # By default this script does nothing.
        # Print the IP address
_IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi sleep 30s && env LC_NUMERIC=en_US.UTF-8 mono /Windward/Worlds/WWServer.exe -world "WORLD NAME" -tcp 5127 -public -service -name "YOUR SERVER NAME" exit 0


I implemented a time delay   sleep 30s   since modern Raspberry pis boot quit fast and the Windward server won't startup with a reboot.


The   env LC_NUMERIC=en_US.UTF-8   is deployed due to the fact that I have had a conflict with the keyboard. I use the German QWERTZ keyboard layout.


Note: the complete string


sleep 30s && env LC_NUMERIC=en_US.UTF-8 mono /Windward/Worlds/WWServer.exe -world "WORLD NAME" -tcp 5127 -public -service -name "YOUR SERVER NAME"


must be in one line! You may copy the entire string above, paste (place the cursor between fi and exit 0 and click the right mouse button) and modify the snippet to your needs.

Save Ctrl O and exit Ctrl X.

Let the Raspberry pi reboot.
Meanwhile you startup Windward.


root@raspberrypi:/Windward# sudo reboot


Your decicated Windward server appears in the lobby list under
Select your new & owned Windward server and type /admin in chatbox as soon as possible.

/admin ⇦ Verify as an administrator manually. Usually this is done as soon as you log in, so executing the command isn’t necessary.

Monitoring CPU usage


"top -i" provides an ongoing look at processor activity in real time.
It displays a listing of the most CPU-intensive tasks on the system, and can provide an interactive interface for manipulating processes.

user@raspberry:~ $ top -i


Ctrl C terminates the process top.


Example (mono: a non-stressed Windward server needs around 4% CPU usage)

How to stop the Mono process (forced server shutdown)?

user@raspberry:~ $ sudo su
root@raspberrypi:# killall mono



Windward folder structure


Local serverwise (Linux)

          /root
            /home/pi                
                /Windward
                /Debug ⇦ includes TNetErrors.txt (dummy file, empty)
                /ServerConfig ⇦ includes ban.txt
                /Worlds ⇦ *.dat & *.dat.config files & WWServer.exe
          



Root serverwise (Linux)

          /root
            /Windward
                /Debug ⇦ includes TNetErrors.txt & TNetLog.txt
                /Pennants ⇦ your custom pennants uploaded
                /ServerConfig ⇦ includes admin.txt & ban.txt
                /Ships ⇦ your custom made ship designs uploaded
                /Symbols ⇦ your custom symbols uploaded
                /Worlds ⇦ *.dat & *.dat.config files
          

Note that WWServer.exe updates periodically (~ 60 seconds) files *.dat and *.dat.config
in /root/Windward/Worlds even if there's no live-player online.



My Documents - local HDD wise (MS Windows)

          /My Documents
            /Windward
                /Backup ⇦ folders include *.player & *.vault files hourly
                    /6_22_2017_01
                    /6_22_2017_02
                    /6_22_2017_03
                /ClientConfig ⇦ includes admin.txt & ignore.txt
                /Debug ⇦ includes TNetErrors.txt & TNetLog.txt (if)
                /FoW ⇦ includes *.fow files (Fog of War)
                /Pennants ⇦ legal pennants & custom pennants to upload to server
                /Players ⇦ your personal player file(s) like yournick.player
                /ServerConfig ⇦ includes admin.txt & ban.txt
                /Ships ⇦ custom made ship designs for upload to server
                /Symbols ⇦ legal pennants & custom symbols for upload to server
                /Temp ⇦ includes public items from other servers visited
                    /1747950168
                    /1862369054
                /Vault ⇦ your personal vault of items looted in SP & MP
                /Worlds ⇦ *.dat & *.dat.config files
          

Windward game system clean up


From time to time you can keep your system tidy if you delete redundant files & folders.
Leave the last ten most recent in Backup.
No minds about if you delete the files in FoW completely.


          /My Documents
            /Windward
                /Backup ⇦ folders include *.player & *.vault files hourly
                ...
                /FoW ⇦ includes *.fow files (Fog of War)
                ...
          

22-Jun 2017

Revised 08-Dec 2018


tux cheer penguin gif animatedThe job is done.

Hafenzoll 2019