Viability of Raspberry Pi Zandronum server

General discussion of the port and Doom-related chat.
User avatar
Balrog
Forum Regular
Posts: 215
Joined: Fri Aug 10, 2012 11:16 am

Viability of Raspberry Pi Zandronum server

#1

Post by Balrog » Wed Oct 31, 2012 11:51 pm

Just a quick question about the viability of running the Zandronum server binary on a Raspberry Pi. I'm not asking for a port, as I'm fully prepared to roll my own; I just want to know if there are any impossibilities I should be aware of. I have the 512MB revision, so RAM shouldn't be too much of an issue for just running one server at a time. More of a concern is the relatively wimpy ARM core.

Code: Select all

[15:53:14] balrog: one day, the original mm8bdm devteam from mfggu and i will meet in valhalla and we will be friends

Code: Select all

<ijon>well fuk
<ijon>guess I gotta suck dicks now

Code: Select all

(18:13:17)<Mayrine>i dont have to learnt anything about ACS

Eonfge
 
Posts: 67
Joined: Thu Jun 07, 2012 8:41 am
Location: The Netherlands
Contact:

RE: Viability of Raspberry Pi Zandronum server

#2

Post by Eonfge » Mon Nov 05, 2012 12:58 pm

As far as I know, most of the code is not platform specific, witnessing the large amount of ports for other platforms. Other then that, running just the server would not be the issue since it does not require much besides a good bandwidth/latency.

Issues you might have, could be caused by the network adapter and the code connected to it.

User avatar
HeX9109
Retired Staff / Community Team Member
Posts: 63
Joined: Wed May 30, 2012 9:45 pm
Location: TeXas
Clan: UniDoom
Clan Tag: [UD]

RE: Viability of Raspberry Pi Zandronum server

#3

Post by HeX9109 » Mon Nov 05, 2012 1:57 pm

Balrog wrote: More of a concern is the relatively wimpy ARM core.
Stick to deathmatch or smaller co-op wads and you will probably be OK. Don't expect hr2 + brutal doom though.

One thing I would like to see with the Zandronum server is for it to one day require no libraries. Torr did a great job of removing most of the libraries that the client needs (particularly FMOD) but I think there are some remaining.
Like a good neighbor, UD is there! http://www.unidoom.org

User avatar
Torr Samaho
Lead Developer
Posts: 1543
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: Viability of Raspberry Pi Zandronum server

#4

Post by Torr Samaho » Mon Nov 05, 2012 9:01 pm

HeX9109 wrote: One thing I would like to see with the Zandronum server is for it to one day require no libraries. Torr did a great job of removing most of the libraries that the client needs (particularly FMOD) but I think there are some remaining.
IIRC SDL is the only dependency left in the server. If you'd like to see this go as well, a tracker ticket won't hurt ;).

Zom-B
New User
Posts: 14
Joined: Thu Mar 14, 2013 8:43 pm

RE: Viability of Raspberry Pi Zandronum server

#5

Post by Zom-B » Fri Jul 19, 2013 8:11 pm

Balrog, did you ever succeed in porting the server to Pi? I'm also interested

User avatar
mr fiat
Frequent Poster Miles card holder
Posts: 858
Joined: Tue Jun 05, 2012 3:28 pm
Location: netherlands

RE: Viability of Raspberry Pi Zandronum server

#6

Post by mr fiat » Fri Jul 19, 2013 8:35 pm

the pi is very overclockable ive seen a dude add a custom heatsink to it and the little thing ran quite well at oc speeds, later he added a laptop fan ontop and he reached even higher speeds at stable temps. maybe that could help.

User avatar
Balrog
Forum Regular
Posts: 215
Joined: Fri Aug 10, 2012 11:16 am

RE: Viability of Raspberry Pi Zandronum server

#7

Post by Balrog » Fri Jul 19, 2013 8:36 pm

Zom-B wrote: Balrog, did you ever succeed in porting the server to Pi? I'm also interested
I kinda lost interest actually :giraffezahl:

Set up a Linux box with a crosstools-ng dev environment and compile the Zandronum source with the "server only" compilation flag and you should be fine. I was never able to get mine satisfactorily sealed off IIRC, but a clean install may help with that. You could also compile directly on the Pi, but who wants to put up with compilation on that?

Code: Select all

[15:53:14] balrog: one day, the original mm8bdm devteam from mfggu and i will meet in valhalla and we will be friends

Code: Select all

<ijon>well fuk
<ijon>guess I gotta suck dicks now

Code: Select all

(18:13:17)<Mayrine>i dont have to learnt anything about ACS

BlueHattedEngie
 
Posts: 35
Joined: Thu May 23, 2013 10:47 am
Location: SA, Scotland

RE: Viability of Raspberry Pi Zandronum server

#8

Post by BlueHattedEngie » Wed Jul 24, 2013 8:55 pm

I've been trying to put Zandronum on my Pi but it kept saying

Code: Select all

E: Unable to locate package zandronum doomseeker-zandronum
no matter how many times I update the repositories (and I have entered it in correctly).
I would like to host some mods like Brutal Doom and Samsara.
Last edited by BlueHattedEngie on Wed Jul 24, 2013 8:56 pm, edited 1 time in total.
BLO0O0O0OL


STEAM
YOUTUBE

Ijon Tichy
Frequent Poster Miles card holder
Posts: 901
Joined: Mon Jun 04, 2012 5:07 am

RE: Viability of Raspberry Pi Zandronum server

#9

Post by Ijon Tichy » Fri Jul 26, 2013 6:38 am

Zandronum doesn't have precompiled ARM binaries. And rbutl dum is probably too much for an RPi.

Fincer
New User
Posts: 6
Joined: Tue Feb 24, 2015 5:47 pm

RE: Viability of Raspberry Pi Zandronum server

#10

Post by Fincer » Tue Feb 24, 2015 6:16 pm

I compiled zandronum-server on Raspberry Pi using the following settings.

Be Informed: You can't actually run the server by following these instructions. This is only for testing/developing purposes for people who are interested in modifying & adapting zandronum source code to ARM processor architecture.

1) If you are running Raspbian, install all dependencies & sub-dependencies (includes dh-make & dpkg-buildpackage):

Code: Select all

sudo apt-get install libasound2-dev libavahi-client-dev libavahi-common-dev libcaca-dev libdbus-1-dev libdirectfb-dev libdirectfb-extra libelfg0 libflac-dev libfluidsynth-dev libgl1-mesa-dev libglib2.0-bin libglib2.0-dev libglu1-mesa-dev libjack-dev libjack0 libjpeg8-dev libncurses5-dev libogg-dev libpcre3-dev libpcrecpp0 libpng12-dev libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libreadline-dev libreadline6-dev libsdl1.2-dev libslang2-dev libsndfile1-dev libtinfo-dev libts-dev libvorbis-dev libx11-dev libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev mesa-common-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev libssl-dev libssl-doc libbz2-dev nasm autopoint debhelper dh-make gettext html2text intltool-debian libgettextpo0 libmail-sendmail-perl libsys-hostname-long-perl libunistring0 po-debconf mercurial cmake
For other Linux distributions, see http://wiki.zandronum.com/Compiling_Zandronum_on_Linux

2) Download and extract zandronum source:

Code: Select all

mkdir -pv $HOME/zandronum_build && \
cd $HOME/zandronum_build && \
hg clone https://bitbucket.org/Torr_Samaho/zandronum && \
mkdir -pv zandronum/buildserver && \
cd $HOME/zandronum_build && \
v=$(wget -q -O - http://www.sqlite.org/download.html | \
sed -n '/>Source Code</,/zip</ s/.*sqlite-amalgamation-\(.*\)\.zip.*/\1/p') && \
wget -nc http://www.sqlite.org/$(date +%Y)/sqlite-amalgamation-"$v".zip && \
unzip -j sqlite-amalgamation-"$v".zip -d zandronum/sqlite
2) Modify $HOME/zandronum_build/zandronum/v_text.cpp file using these instructions: http://forum.zdoom.org/viewtopic.php?f=2&t=47275

3) Run

Code: Select all

cmake -i $HOME/zandronum_build/zandronum
Disable ASM (NO_ASM=ON)

4) Run

Code: Select all

cd $HOME/zandronum_build/zandronum/buildserver && \
make clean ; \
cmake -DCMAKE_BUILD_TYPE=Release -DNO_ASM=ON -DSERVERONLY=ON .. && \
make
Compilation fails at 19%. Remove all "-msse" flags from $HOME/zandronum_build/zandronum/buildserver/dumb/CMakeFiles/dumb.dir/build.make and run "make" again.

Compilation takes time (2-3 hours?) but should be successful.

5) Move compiled files to correct locations:

Code: Select all

sudo mkdir -p /usr/share/zandronum && \
cd $HOME/zandronum_build/zandronum/buildserver && \
sudo mv brightmaps.pk3 zandronum-server skulltag_actors.pk3 zandronum.pk3 /usr/share/zandronum/ && \
sudo printf "#!/bin/sh\nexec /usr/share/zandronum/zandronum-server '$@'" > /usr/bin/zandronum-server && \
sudo chmod 755 /usr/bin/zandronum-server
6) Run

Run zandronum-server by using command

Code: Select all

zandronum-server
Issues:

- No libraries compiled (liboutput_sdl.so & libfmodex*.so (lack of support?))
- Should OpenAL be used/adapted?. See ZDoom for Raspberry Pi (source code, github)

- Launching the server leads to the following error event (library errors):
http://pastebin.com/jwjuAuQy

The instructions may have little lack of precision so feel free to adapt them to your needs. :smile:

User avatar
Torr Samaho
Lead Developer
Posts: 1543
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: Viability of Raspberry Pi Zandronum server

#11

Post by Torr Samaho » Sat Apr 11, 2015 5:57 pm

I have the zandronum server up and running on a Raspberry Pi B 2.

The only code changes required are here (the "0xFF" change should fix the crash on start Fincer experienced) and the CMakeList changes of the dumb library from here. If anybody is interested in using a Pi to host servers, I can integrate the necessary changes into the Zandronum source repo.

antiriad
New User
Posts: 13
Joined: Mon Oct 26, 2015 6:32 pm

RE: Viability of Raspberry Pi Zandronum server

#12

Post by antiriad » Mon Oct 26, 2015 7:29 pm

I'm interested, but I have a rPi 1 (too low specs?).
A permanent rPi server would be a great solution for long coop gameplay (like Hexen) since it's not possible to save.
Thank you!

User avatar
ibm5155
Addicted to Zandronum
Posts: 1641
Joined: Tue Jun 05, 2012 9:32 pm
Location: Somewhere, over the rainbow

RE: Viability of Raspberry Pi Zandronum server

#13

Post by ibm5155 » Mon Oct 26, 2015 7:35 pm

Just saying, isn't better to get a more powerfull machine for servers? I mean, even my old Pentium 3 1GHz with 1,5Gb of ram failed to be a playable armageddon and zdoom wars server :S

EDIT: I actually got curious about how bad/well would my k6-III+ 400MHz run as a server

EDIT: I learned a magic spell, so now, for each post I made, Decay will post next
Last edited by ibm5155 on Mon Oct 26, 2015 8:31 pm, edited 1 time in total.
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!

<this post is proof of "Decline">

User avatar
ibm5155
Addicted to Zandronum
Posts: 1641
Joined: Tue Jun 05, 2012 9:32 pm
Location: Somewhere, over the rainbow

RE: Viability of Raspberry Pi Zandronum server

#14

Post by ibm5155 » Mon Oct 26, 2015 8:40 pm

bandwidth would not be a problem since the test was going to be over lan.
About the resource intensive, maybe, but, there're no limits to zombo com, so I'll test it...
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!

<this post is proof of "Decline">

antiriad
New User
Posts: 13
Joined: Mon Oct 26, 2015 6:32 pm

RE: Viability of Raspberry Pi Zandronum server

#15

Post by antiriad » Tue Oct 27, 2015 5:52 am

It is possible to have a "quick and dirty" binary, to test it on my Raspberry 1 (512) with a Hexen Coop?
Thank you

User avatar
Torr Samaho
Lead Developer
Posts: 1543
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: Viability of Raspberry Pi Zandronum server

#16

Post by Torr Samaho » Wed Oct 28, 2015 6:22 pm

antiriad wrote: It is possible to have a "quick and dirty" binary, to test it on my Raspberry 1 (512) with a Hexen Coop?
Unfortunately, I don't have a Raspi 1 at hand and I also don't have the time to set up a cross compiling environment for this. So unless anybody else volunteers, you'll need to compile this yourself. Assuming the Raspi 1 accepts the same C++ code the Raspi 2 accepted, this shouldn't be too difficult, but will take quite a while since the Raspi 1 CPU is quite slow.

antiriad
New User
Posts: 13
Joined: Mon Oct 26, 2015 6:32 pm

RE: Viability of Raspberry Pi Zandronum server

#17

Post by antiriad » Thu Oct 29, 2015 1:07 pm

Torr Samaho wrote: Unfortunately, I don't have a Raspi 1 at hand and I also don't have the time to set up a cross compiling environment for this. So unless anybody else volunteers, you'll need to compile this yourself. Assuming the Raspi 1 accepts the same C++ code the Raspi 2 accepted, this shouldn't be too difficult, but will take quite a while since the Raspi 1 CPU is quite slow.
Aside from compilation time, do you think could a Raspberry 1 manage fluidly a basic online session (like a Hexen coop)?
Thank you.

User avatar
Torr Samaho
Lead Developer
Posts: 1543
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: Viability of Raspberry Pi Zandronum server

#18

Post by Torr Samaho » Thu Oct 29, 2015 7:50 pm

antiriad wrote: Aside from compilation time, do you think could a Raspberry 1 manage fluidly a basic online session (like a Hexen coop)?
Thank you.
Difficult to say, but I think chances are good that hosting Hexen on the stock maps with a few players will work fluidly.

antiriad
New User
Posts: 13
Joined: Mon Oct 26, 2015 6:32 pm

RE: Viability of Raspberry Pi Zandronum server

#19

Post by antiriad » Thu Oct 29, 2015 9:19 pm

Torr Samaho wrote: Difficult to say, but I think chances are good that hosting Hexen on the stock maps with a few players will work fluidly.
Interesting... where could I pick, eventually, the fixed source code?
Thanks
Last edited by antiriad on Thu Oct 29, 2015 9:20 pm, edited 1 time in total.

User avatar
Torr Samaho
Lead Developer
Posts: 1543
Joined: Fri May 25, 2012 6:03 pm
Location: Germany

RE: Viability of Raspberry Pi Zandronum server

#20

Post by Torr Samaho » Thu Oct 29, 2015 10:01 pm

antiriad wrote: Interesting... where could I pick, eventually, the fixed source code?
Thanks
Zandronum 2.1.2 should already work without changes. You can grab it from our stable source repo. In order to be network compatible with the official 2.1.2 binaries, you should clone the code from here using the 2.1.2 tag.

Post Reply