|
» Contents » (0) Quickstart » (1) Introduction » (2) Installation & setup » (2.1c) Linux (custom/compilation)
» (3) Creating a character & starting to play» (4) The world » (5) Item and flag details, elements » (6) Monster details » (7) Character details » (8) Tactics & strategy » (9) Miscellaneous |
(2.1c) Linux (custom/compilation) --------------------------------- Linux (using pre-compiled client): ---------------------------------- Make sure that ncurses and crypt libraries are installed, package names are usually libncurses5 and libxcrypt (formerly libgcrypt11). Depending on your system, there might or might not be numbers appended to the package names (eg libxcrypt1 instead of libxcrypt), just do a generic search. Enter the 'tomenet/' folder and type: ./tomenet to start the game. If you get a font-related error ("Font not found: 9x15") please see PROBLEM 56 in chapter Troubleshooting (9.8). Linux (compiling from source): ------------------------------ The paragraph immediately below applies to the traditional X11 client built via 'makefile'. For the SDL3 Linux client and the unified SDL3 Linux/Windows cross-build flow, see the SDL3 paragraph further below. There are additional distribution-specific information on Mikael's website at: https://muuttuja.org/tomenet/installation-linux.php (It's linked on www.tomenet.eu -> "Links".) You can get the source from www.tomenet.eu, also see (1.1). How to compile the game binary: Go into '/tomenet/src' where the file 'makefile' is located. Dependencies, that you must make sure you have installed: C-devel, X11-devel, ncurses, ncurses-devel and crypt libraries. The package names are usually (may vary depending on the build system): build-essential, xorg-dev, libncurses5, libncurses5-dev, libc6-dev, libxcrypt (formerly libgcrypt11) and libxcrypt-dev. Depending on your system, there might or might not be numbers appended to the package names (eg libxcrypt1 instead of libxcrypt), just do a generic search. Since version 4.4.5 which supports music and sound via SDL2, you also need libsdl2-mixer-devel, libsdl2, libsmpeg. Usual package names (SDL2, not SDL!): libsdl2-mixer2.6, libsdl2-mixer2.6-dev, libsdl2debian, libsdl2-dev, (preferably libsdl2debian-pulseaudio, eg under Ubuntu), libsmpeg0, libsmpeg-dev and optionally more formats like libogg/libvorbis. Sometimes instead of the libsdl2* packages your system might provide the packages simply named 'sdl2' and 'sdl2_mixer' instead. If you don't want to use audio, edit the makefile and compare the two paragraphs titled 'Without SDL' and 'With SDL' and edit the makefile accordingly, to compile it without SDL audio support. NOTE: If you are compiling the above packages yourself, make sure that you install the specific audio format libs (smpeg, ogg/vorbis/..) _before_ you install libsdl2-mixer, so its configure script will recognize those formats and enable support for the according file types. Note that sdl2_mixer must be at least version 2.6! Enter these two lines: make clean make tomenet and the binary 'tomenet' will be created in this folder 'tomenet/src'. IMPORTANT NOW: You need to move the binary 'tomenet' that was just created one level upwards, so it's placed in the 'tomenet/' folder! After that, go up one level into your 'tomenet/' folder. There type: ./tomenet to start the game. If you get a font-related error ("Font not found: 9x15") please see PROBLEM 56 in chapter Troubleshooting (9.8). Linux SDL3 client (compiling from source): ------------------------------------------ The SDL3 Linux client is built via 'src/makefile.sdl3'. This same makefile can also cross-compile the SDL3 Windows client from Linux. Go into '/tomenet/src' where the file 'makefile.sdl3' is located. Required libraries for the SDL3 Linux client are SDL3, SDL3_mixer, SDL3_ttf and SDL3_net. Optional libraries are SDL3_image (for PNG screenshots), libarchive (for archive-based audio pack installation), and curl+openssl (for TomeNET Guide checksum checking and updates). The exact package names vary by distribution, but they will usually resemble: build-essential or development-tools, clang or gcc, SDL3-devel, SDL3_net-devel, SDL3_ttf-devel, SDL3_mixer-devel, SDL3_image-devel, libarchive-devel, libcurl-devel and openssl-devel. To build the Linux SDL3 client: make -f makefile.sdl3 clean make -f makefile.sdl3 tomenet To cross-compile the SDL3 Windows client from Linux: make -f makefile.sdl3 tomenet.exe If you want both in one go: make -f makefile.sdl3 clean make -f makefile.sdl3 tomenet tomenet.exe IMPORTANT NOW: If you built inside the repository tree, move/copy the freshly built 'tomenet' binary from 'tomenet/src' one level upwards into the repository root 'tomenet/' before running it, or use 'make -f makefile.sdl3 install'. The SDL3 client expects to run from the game root so it can find the game data files. The SDL3 client stores writable data separately from the game installation directory. It uses 'tomenet.cfg' in its SDL3 user-data directory instead of '.tomenetrc'. By default this directory is obtained from SDL_GetPrefPath(), which on Linux will typically be: ~/.local/share/TomenetGame/tomenet/ You can override this location via the environment variable TOMENET_SDL3_USER_PATH This user-data directory contains configuration, screenshots, user scripts, fonts, graphics overrides, audio packs and other writable files, while the actual game assets remain in the installation directory. To simplify local builds for future contributors, the repository contains GitHub CI workflows plus reusable Docker/Podman+distrobox helper scripts. Fedora was chosen for this because it provides most dependencies directly from its repositories. Fedora 41 is the preferred default for release-oriented SDL3 builds, because Fedora 43 produced release archives with runtime libc issues on older Ubuntu 24.04 LTS systems. Fedora 43 helper files are kept as well for future use, but Fedora 41 is the recommended baseline. The helper scripts live in: .github/docker/fedora41/ .github/docker/fedora43/ Their 'install-build-requirements.sh' comments contain example commands for creating a distrobox/container and compiling inside it, typically in one or two commands after Docker or Podman plus distrobox are installed. The SDL3 makefile can optionally include GCU support on Linux by setting USE_GCU_LINUX=yes which enables '-c' command-line mode and GUI fallback to GCU. This is optional and disabled by default. Configure TomeNET on Linux by editing config files or setting environment vars: (This is not really required. Most things can be configured by in-game menus or by dragging/positioning the game windows with the mouse.) ------------------------------------------------------------------------------- To configure which windows are visible and what font they use and all sorts of other options, edit the file ".tomenetrc" which should be in your home folder (or specify alternative location via -f command-line option, see below). Note: If the game client's positioning of windows doesn't work on your system, you can use other means such as KDE's native window positioning (right-click the windows and modify the "special window settings" or "special application settings") or the tool Devilspie (should be in your default repository) if you're on Gnome or Xfce or anything else. 'gdevilspie' may also be available, which is a graphical version of devilspie. Alternatively to using the .tomenetrc file for window configuration, you can also set environment variables. These settings will override .tomenetrc. Environment Variables: TOMENET_X11_FONT - global font setting for all windows. If set, this will be used for any window that doesn't have a specific font variable set: TOMENET_X11_FONT_TERM_MAIN (height and width of main window cannot be changed) TOMENET_X11_WID_TERM_1, TOMENET_X11_HGT_TERM_1, TOMENET_X11_FONT_TERM_1 TOMENET_X11_WID_TERM_2, TOMENET_X11_HGT_TERM_2, TOMENET_X11_FONT_TERM_2 TOMENET_X11_WID_TERM_3, TOMENET_X11_HGT_TERM_3, TOMENET_X11_FONT_TERM_3 TOMENET_X11_WID_TERM_4, TOMENET_X11_HGT_TERM_4, TOMENET_X11_FONT_TERM_4 TOMENET_X11_WID_TERM_5, TOMENET_X11_HGT_TERM_5, TOMENET_X11_FONT_TERM_5 TOMENET_X11_WID_TERM_6, TOMENET_X11_HGT_TERM_6, TOMENET_X11_FONT_TERM_6 TOMENET_X11_WID_TERM_7, TOMENET_X11_HGT_TERM_7, TOMENET_X11_FONT_TERM_7 Use the 'export' command to set them, eg: export TOMENET_X11_FONT_TERM_MAIN=8x13 export TOMENET_X11_WID_TERM_4=80 export TOMENET_X11_HGT_TERM_4=24 TOMENET_X11_FONT sets one font globally for all windows. It's overridden by the window-specific font variables listed above though. Depending on your system, some possible fonts are usually: 4x6, 5x7, 5x8, 6x9, 6x10, 6x12, 7x13, 7x14, 8x13, 9x15, 10x20, 12x24. POSIX command-line options: -h displays this list of command-line parameters -c force command-line interface instead of X11 etc. Use it if you want to run the client within a terminal. -C compatibility mode for ancient servers (deprecated) -e Create file 'tomenet.log' instead of displaying error messages in the terminal -i ignore the ~/.tomenetrc config file This option must come before any -f options! -f<config file> source (use) a specified config file. This is actually cumulative and does not cause the standard .tomenetrc to not be loaded. To _only_ load this config file and ignore .tomenetrc, specify -i option together with -f option and make sure that -i comes first! The last file that is read is used as default config file and any changes that are saved will be saved to this file. -F <fps> set client internal engine fps (default is 100) -l<Account> <Password> for example -lGandalf geheim -N<character name> for example -NMagnet -R <character name> character name to choose and auto-reincarnate it -p<Port> for example -p19348 -P <path to lib dir> sets the path to TomeNET's 'lib' folder -m skip motd (message of the day) on login -q turns off loading/initializing of audio ('quiet mode') -u disables automatic LUA script updating (You should NOT use this option!) -w disables weather effects -v automatically save chat log on exit -V automatically save complete message log on exit -x don't save chat/message log on exit (don't prompt) -X Don't wait for keypress when client terminates (You can set up a client-autorestart script with this, you can additionally check the return value of the TomeNET executable binary, see (2.3)) -a Switch to 'ASCII' mode ie the original visuals mode -g Switch to graphics mode, using a graphical tileset -G Switch to dual-mask graphics mode (fore+background) <ip address> for example 37.187.75.24 Full command-line example: ./tomenet -p19348 -lGandalf geheim -NGandalf 37.187.75.24 If your name contains spaces, it is neccessary to put a '\' in front of each. Example: ./tomenet -p18348 -lIron\ Man geheimer 37.187.75.24 ..if your account name is 'Iron Man'. (Skip down to (2.4) to continue reading.)
|
