-cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
project(xonotic)
option(DOWNLOAD_MAPS "Download new maps from the build server" ON)
option(BUILD_RELEASE "Package a release" OFF)
-macro(subproject id name)
- if (EXISTS "${PROJECT_SOURCE_DIR}/${name}/CMakeLists.txt" AND NOT DEFINED ENV{XON_NO_${id}})
+function(subproject id name)
+ if ($ENV{XON_NO_${id}})
+ return()
+ endif ()
+ if (EXISTS "${PROJECT_SOURCE_DIR}/${name}/CMakeLists.txt")
add_subdirectory(${name} ${ARGN})
endif ()
-endmacro()
+endfunction()
-subproject(DAEMON daemon)
-subproject(PKI d0_blind_id)
-subproject(DP darkplaces)
-subproject(DATA data/xonotic-data.pk3dir)
-subproject(QCC gmqcc)
+subproject(DAEMON daemon)
+subproject(PKI d0_blind_id)
+subproject(DP darkplaces)
+subproject(DATA data/xonotic-data.pk3dir)
+subproject(QCC gmqcc)
subproject(RADIANT netradiant)
if (DOWNLOAD_MAPS)
---------------
All source files (as defined by the respective license) in scope of this
-document are under the GPL version 2 or any later version, at your choice.
+document are under the GPL version 3 or any later version, at your choice.
-Linux and Windows binaries however link to a library that is under the LGPL
-version 3 with the "or any later version" clause. Thus, they can only be
-distributed under the GPL version 3 or any later version, at your choice.
+The source code of the game engine, DarkPlaces, is licensed under the GPL
+version 2 or any later version, at your choice. Furthermore, some source code
+inside the qcsrc/ directory may also be usable under other licenses as
+indicated by COPYING files therein.
The two relevant licenses are provided in the files GPL-2 and GPL-3 in this
package.
-------------
By committing data/files, you agree to license all the changes/additions
-contained in your commits to Team Xonotic under the terms of the General Public
-License version 2, with the "any later version" clause active. In particular,
-you guarantee that you have acquired all the necessary rights from possible
-other copyright holders to be able to license your work under this license. Any
-submission which does not fulfill this condition may lead to legal action
-against the submitter.
+contained in your commits to Team Xonotic under the terms of the applicable
+license as described above. In particular, you guarantee that you have
+acquired all the necessary rights from possible other copyright holders to be
+able to license your work under this license. Any submission which does not
+fulfill this condition may lead to legal action against the submitter.
Exceptions however may be made on request, but in any case, Team Xonotic must
be allowed to distribute the changes as part of the git repository, and others
<div class="body">
<br><center><h1><a name="AFT-top">Xonotic 0.7 FAQ</a></h1></center>
-<center><a class="link" href="http://xonotic.com">http://xonotic.com</a></center>
+<center><a class="link" href="http://xonotic.org">http://xonotic.com</a></center>
<hr>
<!-- AFT Table of Contents (auto generated) -->
<ul>
#---SET zipname=xonotic-<version>.zip
*Title: Xonotic %xversion% FAQ
- http://xonotic.com
+ http://xonotic.org
------
## License
-Distributed under the GPLv2 license. See the [LICENSE](LICENSE) file for more details.
+Distributed under the GPLv2 license. See the [COPYING](COPYING) file for more details.
-# nix-shell -A xonotic
+# nix-shell -A shell
# --argstr cc clang
{
nixpkgs ? <nixpkgs>,
pkgs ? (import nixpkgs) {},
- cc ? null,
+ cc ? null
}:
with pkgs;
let
VERSION = "0.8.2";
- stdenv = if (cc != null) then overrideCC pkgs.stdenv pkgs."${cc}" else pkgs.stdenv;
+ cmake = pkgs.cmake_2_8;
targets = rec {
- xonotic = stdenv.mkDerivation rec {
+ xonotic = mkDerivation { pki = true; dp = true; data = true; } rec {
name = "xonotic-${version}";
version = VERSION;
- XON_NO_DAEMON = true;
- XON_NO_RADIANT = true;
-
- XON_NO_QCC = true;
- QCC = "${gmqcc}/gmqcc";
-
src = lib.sourceFilesBySuffices ./. [
".txt" ".cmake" ".in"
".c" ".cpp" ".h"
".sh"
];
- enableParallelBuilding = true;
-
- cmakeFlags = [
- "-DDOWNLOAD_MAPS=0"
- ];
+ env = {
+ QCC = "${gmqcc}/bin/gmqcc";
+ };
nativeBuildInputs = [
cmake # for building
# unzip # for downloading maps
];
+ cmakeFlags = [
+ "-DDOWNLOAD_MAPS=0"
+ ];
+
buildInputs = [
openssl # for d0_blind_id
SDL2 # for darkplaces
libvorbis
];
- shellHook = ''
- export LD_LIBRARY_PATH=''${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${lib.makeLibraryPath runtimeInputs}
- '';
-
installPhase = ''
mkdir $out
dontPatchELF = true;
};
- gmqcc = stdenv.mkDerivation rec {
+ gmqcc = mkDerivation { qcc = true; } rec {
name = "gmqcc-${version}";
version = "xonotic-${VERSION}";
src = ./gmqcc;
- enableParallelBuilding = true;
-
installPhase = ''
- mkdir $out
- cp -r . $out
+ mkdir -p $out/bin
+ cp gmqcc $out/bin
'';
};
- netradiant = stdenv.mkDerivation rec {
+ netradiant = mkDerivation { radiant = true; } rec {
name = "netradiant-${version}";
version = VERSION;
- XON_NO_DAEMON = true;
- XON_NO_DP = true;
- XON_NO_PKI = true;
- XON_NO_QCC = true;
- XON_NO_DATA = true;
-
src = ./netradiant;
- enableParallelBuilding = true;
-
- cmakeFlags = [
- "-DDOWNLOAD_MAPS=0"
- "-DGTK_NS=GTK"
- ];
-
nativeBuildInputs = [
cmake # for building
git # for versioning
];
+ cmakeFlags = [
+ "-DDOWNLOAD_MAPS=0"
+ ];
+
buildInputs = [
pkgconfig
glib
+ pcre
libxml2
ncurses
libjpeg
xorg.libXmu
xorg.libSM
xorg.libICE
+ xorg.libpthreadstubs
+ xorg.libXdmcp
+ gnome3.gtk
gnome2.gtk
gnome2.gtkglext
];
};
};
-in targets
+ stdenv = if (cc != null) then overrideCC pkgs.stdenv pkgs."${cc}" else pkgs.stdenv;
+ mkEnableTargets = args: {
+ XON_NO_PKI = !args?pki;
+ XON_NO_DP = !args?dp;
+ XON_NO_DATA = !args?data;
+ XON_NO_QCC = !args?qcc;
+ XON_NO_RADIANT = !args?radiant;
+ };
+ mkDerivation = targets: {env ? {}, shellHook ? "", runtimeInputs ? [], ...}@args:
+ stdenv.mkDerivation (
+ (mkEnableTargets targets)
+ // { enableParallelBuilding = true; }
+ // (removeAttrs args ["env" "shellHook" "runtimeInputs"]) # passthru
+ // env
+ // {
+ shellHook = ''
+ ${shellHook}
+ ${lib.concatStringsSep "\n" (lib.mapAttrsToList (n: v: "export ${n}=${v}") env)}
+ export LD_LIBRARY_PATH=''${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}${lib.makeLibraryPath runtimeInputs}
+ '';
+ }
+ );
+ shell = let inputs = (lib.mapAttrsToList (n: v: v) targets); in stdenv.mkDerivation (rec {
+ name = "xon-shell";
+ XON_NO_DAEMON = true;
+ nativeBuildInputs = builtins.map (it: it.nativeBuildInputs) inputs;
+ buildInputs = builtins.map (it: it.buildInputs) inputs;
+ shellHook = builtins.map (it: it.shellHook) (builtins.filter (it: it?shellHook) inputs);
+ });
+in { inherit shell; } // targets
R 6QtAVwbWcJFYZDvSeuZHEaaJE4JoTzmNni/LPZUSOKE=
R Lh+WWOrY7IjXqP7pekmlgy6R+N+tTBm6DBV1gUZvtZ4=
R ggH3OBVqbVeCCBkLQZtFLvwxuTpfBAz+/scg3OwsPVo=
+R kV3UkVGqke8UhrgIWKhTOU/nDhk3f+OT7TVEfqh9xy0=
+R AaQzHJT+/f6XHfZ4Zabz2KR7dXwQsoKJ1XYICRNo7to=
# Promoted servers. Always show up as recommended, even if "slow".
# P <key or IP here>
"$@" http '' http://us.git.xonotic.org/xonotic/ ''
# Gitlab host (divVerent).
- # Disabled because of https://gitlab.com/gitlab-com/support-forum/issues/15
- "$@" http '' https://gitlab.com/xonotic/ ''
+ "$@" http gitlab https://gitlab.com/xonotic/ ''
# German host (divVerent).
"$@" git de git://de.git.xonotic.org/xonotic/ ''
getversion()
{
- gv=`grep "^gameversion " "$1/defaultXonotic.cfg" | awk '{ print $2 }'`
+ gv=`grep "^gameversion " "$1/xonotic-common.cfg" | awk '{ print $2 }'`
major=$(($gv / 10000))
minor=$((($gv / 100) - ($major * 100)))
patch=$(($gv - ($major * 10000) - ($minor * 100)))
# - .ssh/config must be configured so the following
# host names are reachable and have a compile
# infrastructure set up:
- # - xonotic-build-linux32 (with gcc on x86)
# - xonotic-build-linux64 (with gcc on x86_64)
# - xonotic-build-win32 (with i586-mingw32msvc-g++)
# - xonotic-build-win64 (with amd64-mingw32msvc-g++
verbose "$SELF" release-getbinary Xonotic/xonotic-osx-dedicated || good=false
$good
;;
- release-engine-linux32)
- release_common
- good=true
- verbose "$SELF" release-getbinary Xonotic/xonotic-linux32-sdl || good=false
- verbose "$SELF" release-getbinary Xonotic/xonotic-linux32-glx || good=false
- verbose "$SELF" release-getbinary Xonotic/xonotic-linux32-dedicated || good=false
- $good
- ;;
release-engine-linux64)
release_common
good=true
release_common
# TODO report failures here.
good=false
- verbose "$SELF" release-engine-linux32 && good=true
verbose "$SELF" release-engine-linux64 && good=true
verbose "$SELF" release-engine-win32 && good=true
verbose "$SELF" release-engine-win64 && good=true
s/^set g_xonoticversion [^ ]* /set g_xonoticversion $versionstr /;
s/^gameversion_min [0-9]*/gameversion_min 0/;
s/^gameversion_max [0-9]*/gameversion_max 9999/;
- " < defaultXonotic.cfg > defaultXonotic.cfg.new
+ " < xonotic-common.cfg > xonotic-common.cfg.new
else
# >= 1.0
verbose sed "
s/^set g_xonoticversion [^ ]* /set g_xonoticversion $versionstr /;
s/^gameversion_min [0-9]*/gameversion_min $(( ($gv / 100) * 100 - 100 ))/;
s/^gameversion_max [0-9]*/gameversion_max $(( ($gv / 100) * 100 + 199 ))/;
- " < defaultXonotic.cfg > defaultXonotic.cfg.new
+ " < xonotic-common.cfg > xonotic-common.cfg.new
fi
- mv defaultXonotic.cfg.new defaultXonotic.cfg
+ mv xonotic-common.cfg.new xonotic-common.cfg
case "$RELEASETYPE" in
release)
- echo "" >> defaultXonotic.cfg
- echo "// nicer menu" >> defaultXonotic.cfg
- echo "set menu_watermark \"\"" >> defaultXonotic.cfg
+ echo "" >> xonotic-common.cfg
+ echo "// nicer menu" >> xonotic-common.cfg
+ echo "set menu_watermark \"\"" >> xonotic-common.cfg
;;
esac
(
--- /dev/null
+#compdef all
+
+zstyle ":completion:*:descriptions" format "%B%d%b"
+
+
+local context state line ret=1
+typeset -A opt_args
+
+
+local -a _1st_arguments
+_1st_arguments=(
+ 'help:print the help message'
+ {update,pull}':update all repos'
+ 'compile:compile the source code'
+ 'clean:clean all repos'
+ 'run:run the game'
+ 'update-maps:download the latest version of all official maps from the autobuild server'
+ 'compile-map:compile the specified maps'
+ 'serverbench:run the server benchmark'
+ 'fix_upstream_rebase:fix upstream rebase'
+ 'fix_config:fix .git/config'
+ 'keygen:generate ssh key for repo access if one does not exist yet'
+ {checkout,switch}':checkout a specific branch in repos where it exists and default branch elsewhere'
+ 'branch:create a branch in a repo (asks for repo)'
+ {push,commit}':commit and push changes'
+ {each,foreach}':run a command in each repo'
+ 'grep:run "git grep" in all repos'
+)
+
+_arguments -C \
+ '1: :->cmds' \
+ '*:: :->args' && ret=0
+
+
+case $state in
+ cmds)
+ _describe -t actions 'commands' _1st_arguments
+ ret=0
+ ;;
+
+ args)
+ case $words[1] in
+ run)
+ # choose version and autocomplete cvars
+ # possible TODO: check for OS and adapt to it
+ _arguments \
+ '1:Version:(sdl glx dedicated)' && ret=0
+ ;;
+
+ compile)
+ _arguments \
+ '1:Version:(sdl glx dedicated)' \
+ "-0[don't use precompiled d0_blind_id]" \
+ '-c[clean all before building]' \
+ '-qc[clean QuakeC binaries]' \
+ - '(release)' \
+ '-r[build in release mode]' \
+ - '(profile)' \
+ '-p[build in profile mode]' && ret=0
+ ;;
+
+ compile-map)
+ _files -W "(data/xonotic-maps.pk3dir/maps)" -g "*.map(:r)" && ret=0
+ ;;
+
+ clean)
+ _arguments \
+ - '(noreclone)' \
+ '-f[force clean]' \
+ '-u[go to upstream]' \
+ '-U[go to upstream and fetch master]' \
+ '-m[go to master]' \
+ '-r[remove untracked files]' \
+ '-D[kill branches]' \
+ - '(reclone)' \
+ '--reclone[set all the other flags (effectively a reclone)]' && ret=0
+ ;;
+
+ update|pull)
+ _arguments \
+ "-N[reset git config for each repo]" \
+ '-l[find the best mirror in the specified location]' \
+ - '(ssh)' \
+ {-p,-s}'[set ssh as push protocol and find the best mirror]' \
+ - '(git)' \
+ '-g[set git as push protocol and find the best mirror]' \
+ - '(http)' \
+ '-h[set http as push protocol and find the best mirror]' && ret=0
+ ;;
+
+ esac
+ ;;
+esac
+
+return ret
excludes="$excludes --exclude=/Xonotic*.app"
excludes="$excludes --exclude=/xonotic-osx-*"
excludes="$excludes --exclude=/gmqcc/gmqcc.osx"
- if [ -z "$XONOTIC_INCLUDE_32BIT" ]; then
- excludes="$excludes --exclude=/xonotic-linux32-*"
- excludes="$excludes --exclude=/gmqcc/gmqcc.linux32"
- fi
- ;;
- Linux:i?86)
- excludes="$excludes --exclude=/Xonotic*.app"
- excludes="$excludes --exclude=/xonotic-osx-*"
- excludes="$excludes --exclude=/gmqcc/gmqcc.osx"
- excludes="$excludes --exclude=/xonotic-linux64-*"
- excludes="$excludes --exclude=/gmqcc/gmqcc.linux64"
+ excludes="$excludes --exclude=/xonotic-linux32-*"
+ excludes="$excludes --exclude=/gmqcc/gmqcc.linux32"
;;
*)
echo >&2 "WARNING: Could not detect architecture - downloading all architectures"
excludes="$excludes --exclude=/Xonotic*.app"
excludes="$excludes --exclude=/xonotic-osx-*"
excludes="$excludes --exclude=/gmqcc/gmqcc.osx"
- if [ -z "$XONOTIC_INCLUDE_32BIT" ]; then
- excludes="$excludes --exclude=/xonotic-linux32-*"
- excludes="$excludes --exclude=/gmqcc/gmqcc.linux32"
- fi
- ;;
- Linux:i?86)
- excludes="$excludes --exclude=/Xonotic*.app"
- excludes="$excludes --exclude=/xonotic-osx-*"
- excludes="$excludes --exclude=/gmqcc/gmqcc.osx"
- excludes="$excludes --exclude=/xonotic-linux64-*"
- excludes="$excludes --exclude=/gmqcc/gmqcc.linux64"
+ excludes="$excludes --exclude=/xonotic-linux32-*"
+ excludes="$excludes --exclude=/gmqcc/gmqcc.linux32"
;;
*)
echo >&2 "WARNING: Could not detect architecture - downloading all architectures"
string(TIMESTAMP stamp "%Y%m%d")
string(TIMESTAMP filestamp "%Y-%m-%d")
-file(STRINGS data/xonotic-data.pk3dir/defaultXonotic.cfg _contents REGEX "^gameversion ")
+file(STRINGS data/xonotic-data.pk3dir/xonotic-common.cfg _contents REGEX "^gameversion ")
if (NOT _contents)
- message(FATAL_ERROR "defaultXonotic.cfg does not contain gameversion")
+ message(FATAL_ERROR "xonotic-common.cfg does not contain gameversion")
else ()
string(REGEX REPLACE ".*gameversion ([0-9]+).*" "\\1" versionstr "${_contents}")
math(EXPR versionstr_major "${versionstr} / 10000")
getbinary(Xonotic/Xonotic.app/Contents/MacOS/xonotic-osx-sdl-bin) # +x
getbinary(Xonotic/xonotic-osx-dedicated) # +x
- getbinary(Xonotic/xonotic-linux32-sdl) # +x
- getbinary(Xonotic/xonotic-linux32-glx) # +x
- getbinary(Xonotic/xonotic-linux32-dedicated) # +x
-
getbinary(Xonotic/xonotic-linux64-sdl) # +x
getbinary(Xonotic/xonotic-linux64-glx) # +x
getbinary(Xonotic/xonotic-linux64-dedicated) # +x
// help messages
set help_msg_count 58
set help_msg_0 "Big Admin is watching you, so please be friendly or feel their almighty ban-hammer!"
-set help_msg_1 "If you want to learn more about Xonotic read ^1'Halogene's Newbie Corner' (http://xonotic.org and click 'Guide') ${help_cfg_prefix}as it contains lots of useful tips and tricks, explains all the weapons and helps to improve your gameplay."
+set help_msg_1 "If you want to learn more about Xonotic read ^1'Halogene's Newbie Corner' (https://xonotic.org/tut) ${help_cfg_prefix}as it contains lots of useful tips and tricks, explains all the weapons and helps to improve your gameplay."
set help_msg_2 "Please watch out for balanced teams and change by pressing F5 (teammenu) or F6 (auto join 'best' team)."
set help_msg_3 "When trying to bunny-hop you can ^1hold the jump button ${help_cfg_prefix}while you are still in the air, this will make those jumps VERY easy to time and work more reliable."
set help_msg_4 "When a vote is called you can accept it via F1 or reject it via F2 (default keys)."
set help_msg_16 "You can drop the weapon you currently have with Backspace (default key). You can help your unarmed teammates this way."
set help_msg_17 "Learn to use the team messages! You find them in the Setting/Input menu. Try changing them to keys you can press easier than the defaults."
set help_msg_18 "Gaming should be fun! Try to have a nice time, be helpful, mindful and treat others like you want to be treated."
-set help_msg_19 "Visit the official forum on ^1http://xonotic.org/forums/ ${help_cfg_prefix}and feel free to open a thread if you have questions."
+set help_msg_19 "Visit the official forum on ^1https://forums.xonotic.org/ ${help_cfg_prefix}and feel free to open a thread if you have questions."
set help_msg_20 "If you already have a good weapon, it's a great idea to let your teammates get something better than the Shotgun too!"
set help_msg_21 "Press T to chat with others, press Y for messages to your team only, press TAB to see the scores and U for the chat history (default keys)."
set help_msg_22 "You can use ^1'suggestmap PART_OF_NAME' ${help_cfg_prefix}to make a map come up at the vote screen after a map was played."
set help_msg_32 "The Devastator is powerful but slow. Keep Mouse1 pressed to guide the rockets. Secondary firemode makes the rocket(s) explode."
set help_msg_33 "The Arc is a strong lighting beam, which bends slighty if you move your mouse. The secondary firemode is very strong but short. Both firemodes also heal teammates if you shoot at them."
set help_msg_34 "By default, explosions go through walls. Be careful when hiding behind walls!"
-set help_msg_35 "Get on IRC to chat with fellow players. ^1#xonotic on http://webchat.quakenet.org/ ${help_cfg_prefix}is the most famous place."
+set help_msg_35 "Get on IRC to chat with fellow players. Take a look at ^1https://xonotic.org/chat/${help_cfg_prefix}."
set help_msg_36 "Don't drink and frag."
set help_msg_37 "Don't shoot at players who are typing/chatting. You recognize those players by the keyboard symbols above their head."
set help_msg_38 "'gg' is shorthand for 'Good Game', 'gl' means 'Good luck' and 'hf' 'Have fun'."
set help_msg_39 "Players with the prefix '$bot_prefix${help_cfg_prefix}' in their nick are bots on this server. There is also a clan named [BOT]."
set help_msg_40 "Read the help messages!"
-set help_msg_41 "Visit the stats page at ^1http://stats.xonotic.org/ ${help_cfg_prefix}and check out how you are doing in the rankings!"
+set help_msg_41 "Visit the stats page at ^1https://stats.xonotic.org/ ${help_cfg_prefix}and check out how you are doing in the rankings!"
set help_msg_42 "Start playing 1on1 if you want to learn fast"
-set help_msg_43 "Visit the IRC channel ^1#xonotic.pickup on http://webchat.quakenet.org/ ${help_cfg_prefix}to get in touch with the experienced players. Ask the stuff and play with them!"
+set help_msg_43 "Visit ^1https://xonotic.org/pickup/ ${help_cfg_prefix}to get in touch with the experienced players. Ask the stuff and play with them!"
set help_msg_44 "Look for servers that have a good ping for you. You can't play this game well with a ping > 100. If there are no servers close enough to you, cooperate with your friends to setup one."
set help_msg_45 "If you want to play the next map you can cast a vote via 'vcall endmatch' in the console. Other players can vote using F1 and F2 (default keys)."
set help_msg_46 "Always watch your back. Do not just run away, fight back as you retreat. Otherwise, you could be shot in the back."
alias help_say "set help_tmp_oldnick \"$sv_adminnick\"; set sv_adminnick \"$help_cfg_nick\"; say \"$*\"; help_say2"
alias help_say2 "set sv_adminnick \"$help_tmp_oldnick\""
alias help_doit "sv_cmd rpn /help_tmp_msg help_msg_$help_tmp_index def; help_doit2"
-alias help_doit2 "help_say $help_cfg_prefix\"$help_tmp_msg\""
+alias help_doit2 "help_say $help_cfg_prefix$help_tmp_msg"
alias help_inc "sv_cmd rpn /help_tmp_index help_tmp_index 1 add $help_msg_count mod def"
alias help_next "help_inc; help_doit"
-alias help_loop "help_next; defer $help_cfg_time help_loop"
\ No newline at end of file
+alias help_loop "help_next; defer $help_cfg_time help_loop"
//sv_maxrate 1000000 // limits client connections to this rate in bytes/seconds
// see Docs/mapdownload.txt for more info
-//sv_curl_defaulturl http://www.xonotic.com/contentdownload/getmap.php?file= //fallback download URL
+//sv_curl_defaulturl http://www.xonotic.org/contentdownload/getmap.php?file= //fallback download URL
//sv_defaultcharacter 0 // 1 will force a specific model for all players
//sv_defaultplayermodel models/player/erebus.iqm // this model will be used
/////////////////////////////////////////////////////////////////////
// Overkill mod settings
-// To enable Overkill, put 'exec defaultOverkill.cfg' at the top of this file (above any other cvar changes), don't use 'g_overkill 1' directly.
+// To enable Overkill, put 'exec ruleset-overkill.cfg' at the top of this file (above any other cvar changes), don't use 'g_overkill 1' directly.
// You should also consider enabling 'g_fullbrightplayers 1'.
#!/bin/sh
case "$(uname -m)" in
- x86_64) executable="xonotic-linux64-dedicated" ;;
- *) executable="xonotic-linux32-dedicated" ;;
+ i?86) executable="xonotic-linux32-dedicated" ;; # Not supported anymore but you can build your own.
+ *) executable="xonotic-linux64-dedicated" ;;
esac
cd "`dirname "${0}"`"
esac
case "$(uname -m)" in
- x86_64) arch="linux64" ;;
- *) arch="linux32" ;;
+ i?86) arch="linux32" ;; # Not supported anymore but you can build your own.
+ *) arch="linux64" ;;
esac
xonotic="xonotic-${arch}-${mode}"