Viability of Raspberry Pi Zandronum server
Viability of Raspberry Pi Zandronum server
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
RE: Viability of Raspberry Pi Zandronum server
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.
Issues you might have, could be caused by the network adapter and the code connected to it.
- 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
Stick to deathmatch or smaller co-op wads and you will probably be OK. Don't expect hr2 + brutal doom though.Balrog wrote: More of a concern is the relatively wimpy ARM core.
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
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Viability of Raspberry Pi Zandronum server
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 ;).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.
RE: Viability of Raspberry Pi Zandronum server
Balrog, did you ever succeed in porting the server to Pi? I'm also interested
- 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
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.
RE: Viability of Raspberry Pi Zandronum server
I kinda lost interest actuallyZom-B wrote: Balrog, did you ever succeed in porting the server to Pi? I'm also interested
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
-
- Posts: 35
- Joined: Thu May 23, 2013 10:47 am
- Location: SA, Scotland
RE: Viability of Raspberry Pi Zandronum server
I've been trying to put Zandronum on my Pi but it kept saying
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.
Code: Select all
E: Unable to locate package zandronum doomseeker-zandronum
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.
-
- Frequent Poster Miles card holder
- Posts: 901
- Joined: Mon Jun 04, 2012 5:07 am
RE: Viability of Raspberry Pi Zandronum server
Zandronum doesn't have precompiled ARM binaries. And rbutl dum is probably too much for an RPi.
RE: Viability of Raspberry Pi Zandronum server
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):
For other Linux distributions, see http://wiki.zandronum.com/Compiling_Zandronum_on_Linux
2) Download and extract zandronum source:
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
Disable ASM (NO_ASM=ON)
4) Run
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:
6) Run
Run zandronum-server by using command
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.
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
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
3) Run
Code: Select all
cmake -i $HOME/zandronum_build/zandronum
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 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
Run zandronum-server by using command
Code: Select all
zandronum-server
- 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.
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Viability of Raspberry Pi Zandronum server
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.
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.
RE: Viability of Raspberry Pi Zandronum server
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!
A permanent rPi server would be a great solution for long coop gameplay (like Hexen) since it's not possible to save.
Thank you!
- 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
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
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">
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">
- 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
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...
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">
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">
RE: Viability of Raspberry Pi Zandronum server
It is possible to have a "quick and dirty" binary, to test it on my Raspberry 1 (512) with a Hexen Coop?
Thank you
Thank you
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Viability of Raspberry Pi Zandronum server
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 wrote: It is possible to have a "quick and dirty" binary, to test it on my Raspberry 1 (512) with a Hexen Coop?
RE: Viability of Raspberry Pi Zandronum server
Aside from compilation time, do you think could a Raspberry 1 manage fluidly a basic online session (like a Hexen coop)?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.
Thank you.
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Viability of Raspberry Pi Zandronum server
Difficult to say, but I think chances are good that hosting Hexen on the stock maps with a few players will work fluidly.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.
RE: Viability of Raspberry Pi Zandronum server
Interesting... where could I pick, eventually, the fixed source code?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.
Thanks
Last edited by antiriad on Thu Oct 29, 2015 9:20 pm, edited 1 time in total.
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: Viability of Raspberry Pi Zandronum server
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.antiriad wrote: Interesting... where could I pick, eventually, the fixed source code?
Thanks