OpenRA on RaspberryPi

bggardner edited this page Sep 24, 2018 · 54 revisions

OpenRABerry

Playing OpenRA on a RaspberryPi

OpenRA is at this point "unplayable" on a RaspberryPi-3 (tested with gpu-mem = 512) but you can actually run it. The heat-indicator will get triggered on the top-right, warning you that your RaspberryPi is getting hot (80-85+'C)

How to Set up a Dedicated Server

  1. Make sure you have Raspbian Stretch installed on your Pi
  2. You need a established connection via network-cable or WiFi to get the server working at the end

The following list provides package dependencies required for running OpenRA as dedicated server. This is a community initiative, be prepared to get your hands dirty.

Running on Raspbian

sudo apt-get install mono-runtime libmono2.0-cil libsdl2-2.0 \ 
	libmono-system-core4.0-cil libmono-system-drawing4.0-cil libmono-system-data4.0-cil \ 
	libmono-system-numerics4.0-cil libmono-system-runtime-serialization4.0-cil \
	libmono-system-xml-linq4.0-cil libgl1-mesa-dri liblua5.1-0

wget https://github.com/OpenRA/OpenRA/releases/download/release-20180307/openra_release.20180307_all.deb

sudo dpkg -i openra_release.20180307_all.deb

sudo cp /usr/lib/openra/launch-dedicated.sh /usr/lib/openra/my-dedicated.sh

Note: replace the release-verion with the current openRA version if a later one exists.

Now edit /usr/lib/openra/my-dedicated.sh server settings as explained at installation steps.

Start the server with ./my-dedicated.sh , you can tell that it's working when you see the message Master server communication established

Established

Port Forwarding

Make sure you have forwarded the necessary ports for your OpenRA server in your router.

You can look up the address of your Raspberry PI with this command (substitute eth0 as necessary):

ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'

Run OpenRA dedicated on system startup

sudo su
useradd --system --home=/usr/lib/openra --create-home --shell=/sbin/nologin openra


cat << EOF > /lib/systemd/system/openra.service
[Unit]
Description=OpenRA Dedicated Server

[Service]
ExecStart=/usr/lib/openra/my-dedicated.sh
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
Restart=on-failure
WorkingDirectory=~
User=openra

[Install]
WantedBy=multi-user.target
EOF


systemctl daemon-reload  # Optional unless the service already existed.
systemctl enable --now openra.service
systemctl status openra.service
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.