You need these programs to use the game for development purposes:
These are the URIs of the Git repositories for all versions:
Enter this when you're in the ANT home to download the JARs required by some optional tasks: ./bin/ant networking -f fetch.xml -Ddest=system
Please follow one of these methods:
You can get the source code of the dependencies here :
TUER requires less than 32 MB (the latest version may require more than 64 MB) but some programs used to precompute its data require 1 GB and even 2 GB. Do not try to build the game from the source code if your computer does not have enough RAM. Use the VM argument "-Xmx" if a particular map needs much memory.
JNDT is used to build the self-contained native application bundles of the project. It turns a fat JAR into some bundles easy to deploy and to install. It builds both some convenient native installers with a full desktop integration and some archives as fallbacks.
It's a cross-platform packager, i.e it's able both to run under several operating systems and to generate native bundles for an operating system different from the one it's being executed.
N.B: JNDT supports Java 9 and higher. As it uses a viral license (GPL version 2) and as it injects a part of its own source code into the bundles, its use is allowed only for the programs using a compatible license.
The source code of JNDT is in a single Ant library file here.
The dependencies of JNDT are here, you must copy them into a directory and set the value of the Ant property "jndtlibdir" to this path ("lib/ant" in the example below):
<property name="jndt-version" value="0.0.0"/> <property name="jndt-release" value="0"/> <property name="jndt-jar-filename" value="jndt-${jndt-version}-${jndt-release}.jar"/> <property name="jndtlibdir" value="lib/ant"/> <taskdef resource="jndt/antlib.xml" classpath="${jndtlibdir}/${jndt-jar-filename}"/>
Nullsoft Scriptable Install System (NSIS), available in numerous GNU Linux distributions, under Microsoft Windows and under Mac OS X, must be installed separately to generate an installer for Microsoft Windows.
JNDT is composed of the 4 Ant tasks below:
Creates the directory of the application, i.e the directory containing the necessary files to run the application, its JAR, its resources (optional), the JRE (optional), the native launcher or the launch script and the files for the native integration in the desktop (the icon, ...).
Attribute | Description | Required |
---|---|---|
os | one of Linux, Mac OS X, Windows (similar to the 'os' attribute of the 'resources' tag in JNLP) | Yes |
arch | one of i386, amd64, universal, arm, none (similar to the 'arch' attribute of the 'resources' tag in JNLP but simplified). 'none' is supported only with jdk set to '' | Yes |
executable | name of the script, without extension such as .bat and .sh | Yes |
linuxpackageshscriptenabled | creates a simplified portable two-line shell script used as a launcher for any GNU Linux package if true and if os is set to 'Linux' | No - default is "false" |
appjar | file location of the JAR to package | Yes |
appname | application name, mandatory to build the package name if linuxpackageshscriptenabled is set to true | No, unless linuxpackageshscriptenabled is "true" - default is "" |
outdir | output directory | Yes |
vmargs | list of arguments for the JVM, separated by ';', e.g. -Xmx1G | No - default is ";" |
jdk | ZIP file location or URL to an OpenJDK build containing a JRE, can be empty to use the JRE of the system | Yes |
resources | list of files and directories to be packaged next to the script, separated by ';' | No - default is ";" |
bundleidentifier | bundle identifier similar to a Java package name | No - default is "com.yourcompany.identifier" |
iconsfile | icons file (imperatively .png for GNU Linux, .ico for Windows, .icns for Mac) | No - default is "" |
useserverjre | uses the server jre if true, otherwise uses the client jre | No - default is "true" |
Creates a RPM package, a DEB package and an archive for GNU Linux.
Attribute | Description | Required |
---|---|---|
executable | name of the script, without extension such as .sh | Yes |
packageexecutabledir | directory containing the executable after the install of a RPM or DEB package | No - default is "/usr/bin" |
packageshscriptenabled | creates a simplified portable two-line shell script used as a launcher for any GNU Linux package if true | No - default is "true" |
appjar | file location of the JAR to package | Yes |
appname | application name | Yes |
outdir | output directory | Yes |
vmargs | list of arguments for the JVM, separated by ';', e.g. -Xmx1G | No - default is ";" |
jdk | ZIP file location or URL to an OpenJDK build containing a JRE, can be empty to use the JRE of the system | Yes |
resources | list of files and directories to be packaged next to the script, separated by ';'. | No - default is ";" |
bundleidentifier | bundle identifier similar to a Java package name | No - default is "com.yourcompany.identifier" |
iconsfile | icons file (imperatively in .png format) | No - default is "" |
useserverjre | uses the server jre if true, otherwise uses the client jre | No - default is "true" |
arch | one of i386, amd64, arm, none (similar to the 'arch' attribute of the 'resources' tag in JNLP but simplified). 'none' is supported only with jdk set to '' | Yes |
categories | list of categories separated by ;, used to put the shortcut into the start menu, see https://standards.freedesktop.org/menu-spec/latest/apa.html | No - default is "" |
comment | comment of the shortcut | No - default is "" |
vendor | organization that distributes the software | No - default is "" |
packager | organization that actually packaged the software | No - default is "" |
license | license | No - default is "" |
summary | short description of the packaged software (generally on a single line) | No - default is "" |
description | detailed description of the packaged software (can take up more than one line) | No - default is "" |
group | string composed of a series of words separated by slashes that defines how the packaged software should be grouped with other packages | No - default is "Applications" |
section | classifier of the application for the Debian package, see https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections | No - default is "java" |
version | version | No - default is "0.0" |
release | release | No - default is "0" |
host | host (codebase) | No - default is "" |
url | homepage url, generally pointing to the documentation of the software being packaged | No - default is "" |
No - default is "" | ||
distribution | target GNU Linux distribution | No - default is "unknown" |
priority | how important it is that the user have the package installed: required, important, standard, optional or extra | No - default is "optional" |
urgency | how important it is to upgrade to this version from previous ones: low, medium, high, emergency, or critical followed by an optional comment | No - default is "low" |
essential | whether the package management system will refuse to remove the package | No - default is "no" |
debdepends | dependencies of the Debian package, can end with ':any' (see 'multiarch') | No - default is "" |
multiarch | support of multiple architectures, see https://wiki.ubuntu.com/MultiarchSpec | No - default is "no" |
docdir | directory containing the documentation | No - default is "" |
docdirincludes | inclusion filter of the documentation directory | No - default is "*" |
archivefileformat | archive file format, with or without compression: zip, gzip, bzip2, tar | No - default is "gzip" |
Creates a compressed APP file for Mac OS X.
Attribute | Description | Required |
---|---|---|
arch | one of universal, none (similar to the 'arch' attribute of the 'resources' tag in JNLP but simplified). 'none' is supported only with jdk set to '' | No - default is "universal" |
executable | name of the script, without extension such as .sh | Yes |
appjar | file location of the JAR to package | Yes |
appname | application name | Yes |
outdir | output directory | Yes |
vmargs | list of arguments for the JVM, separated by ;, e.g. -Xmx1G | No - default is ";" |
jdk | ZIP file location or URL to an OpenJDK build containing a JRE, can be empty to use the JRE of the system | Yes |
resources | list of files and directories to be packaged next to the script, separated by ; | No - default is ";" |
bundleidentifier | bundle identifier similar to a Java package name | No - default is "com.yourcompany.identifier" |
iconsfile | icons file (imperatively in .icns format) | No - default is "" |
useserverjre | uses the server jre if true, otherwise uses the client jre | No - default is "true" |
version | version | No - default is "0.0" |
release | release | No - default is "0" |
docdir | directory containing the documentation | No - default is "" |
docdirincludes | inclusion filter of the documentation directory | No - default is "*" |
archivefileformat | archive file format, with or without compression: zip, gzip, bzip2, tar | No - default is "bzip2" |
Creates a compressed application archive and an installer for Microsoft Windows.
Attribute | Description | Required |
---|---|---|
executable | name of the script, without extension such as .bat | Yes |
appjar | file location of the JAR to package | Yes |
appname | application name | Yes |
outdir | output directory | Yes |
vmargs | list of arguments for the JVM, separated by ;, e.g. -Xmx1G | No - default is ";" |
jdk | ZIP file location or URL to an OpenJDK build containing a JRE, can be empty to use the JRE of the system | Yes |
resources | list of files and directories to be packaged next to the script, separated by ; | No - default is ";" |
bundleidentifier | bundle identifier similar to a Java package name | No - default is "com.yourcompany.identifier" |
iconsfile | icons file (imperatively in .ico format) | No - default is "" |
useserverjre | uses the server jre if true, otherwise uses the client jre | No - default is "true" |
version | version | No - default is "0.0" |
release | release | No - default is "0" |
arch | one of i386, amd64, arm, none (similar to the 'arch' attribute of the 'resources' tag in JNLP but simplified). 'none' is supported only with jdk set to '' | Yes |
docdir | directory containing the documentation | No - default is "" |
docdirincludes | inclusion filter of the documentation directory | No - default is "*" |
archivefileformat | archive file format, with or without compression: zip, gzip, bzip2, tar | No - default is "bzip2" |
licensefile | text file (.txt or .rtf) containing the licensing terms displayed during the install, only used by the installer | No - default is "" |