Skip to content

OpenRA on RaspberryPi

David Strauss edited this page Aug 2, 2016 · 58 revisions

OpenRABerry

Playing OpenRA on a RaspberryPi

According to a Irc-conversation with Paul Chote in 2015 (RaspberryPi2)

  1. Add Xamarin's Mono repository
  2. Install SDL dependency plus all the Mono crap
  3. Clone and compile Openra
  4. Cry when you see it only runs at 1.5 FPS

(he was using whatever GL support shipped with jessie with the vram turned to max)

How to Set up a Dedicated Server

  1. Make sure you have Raspbian Jessie installed on your Pi
  2. You need a established connection via network-cable 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-20160508/openra_release.20160508_all.deb
sudo dpkg -i openra_release.20160508_all.deb

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

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

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

Players ๐ŸŽฒ

Modders โœ๏ธ

Developers ๐Ÿ”ง

Clone this wiki locally