Zandronum Server on FreeBSD: Difference between revisions

From Zandronum Wiki
No edit summary
(Update to Heptapod)
Tag: Source edit
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
It is possible to run a Zandronum server on FreeBSD.
{{Warning|This guide hasn't been updated since 2016 and probably won't work on newer versions on FreeBSD.}}
== Compiling ==
* Install dependencies
<pre>
pkg install sdl sqlite3 openssl cmake python3 mercurial
</pre>
 
If you're building '''Zandronum 3.x or higher''':
<pre>
pkg install gcc5 && export cc=gcc5 && export CXX=g++5
</pre>
 
If you're building '''Zandronum 2.x or lower''':
<pre>
pkg install gcc && export CC=gcc48 && export CXX=g++48
</pre>


== Binary Packages ==
* Create your working dir:
csnxs provides binary packages for FreeBSD, which are available on his [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/ archive].
<pre>
mkdir zabuild && cd zabuild
</pre>


Before you use these packages, you must install dependencies:
* Clone [https://foss.heptapod.net/zandronum/zandronum-stable the repo]:
<pre>
<pre>
$ pkg install sdl sqlite3 openssl
hg clone https://foss.heptapod.net/zandronum/zandronum-stable && cd zandronum
</pre>
</pre>


If asked to install <code>pkg</code>, do so.
* Optionally, checkout the latest stable release:
<pre<noinclude></noinclude>>
hg update ZA_{{LatestVersion}}
</pre<noinclude></noinclude>>
 
* Append this line after the other <code>#include</code>s near the top of <code>src/sdl/i_system.cpp</code> (see {{Issue|2815|Include <sys/wait.h> in sdl/i_system.cpp}}):
<syntaxhighlight lang="cpp">
#include <sys/wait.h>
</syntaxhighlight>
 
* Generate the CMake files
<pre>
mkdir ../build && cd ../build && cmake -DCMAKE_BUILD_TYPE=Release -DSERVERONLY=1 -DCMAKE_CXX_FLAGS="-fpermissive" ../zandronum
</pre>


=== Package List ===
* Build it
'''Note:''' Packages in <span style='background: #b3ffb3'>green</span> are the latest '''stable''' build, and packages in <span style='background: #ffffb3'>yellow</span> are the latest '''beta''' build.
<pre>
{| class='wikitable' style='width: 100%;'
make -j$(nproc)
! style='width:33%;' | Version
</pre>
! style='width:33%;' | i386
! style='width:33%;' | x86_64
|- style='background: #ffffb3'
| 3.0-alpha-160814-2010
|
| [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/betas/zandronum-server-freebsd-x86_64-3.0-alpha-160814-2010.txz zandronum-server-freebsd-x86_64-3.0-alpha-160814-2010.txz] / [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/betas/zandronum-server-freebsd-x86_64-3.0-alpha-160814-2010-with-debug.txz with-debug]
|- style='background: #b3ffb3'
| '''2.1.2'''
|
| [https://csnxs.uk/archive/id/doom/sourceports/zandronum/builds/freebsd/zandronum-server-freebsd-x86_64-2.1.2.txz zandronum-server-freebsd-x86_64-2.1.2.txz]
|}


Once downloaded, use <code>tar xf</code> to extract the package into a new directory.
* Assuming it all went well, you should have these files in your current directory:
** <code>zandronum-server</code>
** <code>zandronum-server.debug</code>
** <code>zandronum.pk3</code>
** <code>skulltag_actors.pk3</code>

Latest revision as of 22:36, 17 December 2023

Warning: This guide hasn't been updated since 2016 and probably won't work on newer versions on FreeBSD.

Compiling

  • Install dependencies
pkg install sdl sqlite3 openssl cmake python3 mercurial

If you're building Zandronum 3.x or higher:

pkg install gcc5 && export cc=gcc5 && export CXX=g++5

If you're building Zandronum 2.x or lower:

pkg install gcc && export CC=gcc48 && export CXX=g++48
  • Create your working dir:
mkdir zabuild && cd zabuild
hg clone https://foss.heptapod.net/zandronum/zandronum-stable && cd zandronum
  • Optionally, checkout the latest stable release:
hg update ZA_3.1
#include <sys/wait.h>
  • Generate the CMake files
mkdir ../build && cd ../build && cmake -DCMAKE_BUILD_TYPE=Release -DSERVERONLY=1 -DCMAKE_CXX_FLAGS="-fpermissive" ../zandronum
  • Build it
make -j$(nproc)
  • Assuming it all went well, you should have these files in your current directory:
    • zandronum-server
    • zandronum-server.debug
    • zandronum.pk3
    • skulltag_actors.pk3