All about distribution packages¶
- All about distribution packages
Important information for package maintainers¶
Conventions¶To guarantee platform independency of clients connecting to one server, the mod files have to be synchronized.
- This ensure users don’t have to download files twice.
- This ensure users don’t have issues when creating servers and connecting with different distributions installations.
- This is a step forward to ET: Legacy 64 bit - see X86-64 - too.
Therefore, Linux distributions should only distribute mod binary and mod data files from our official releases.
If there are any good reasons not to do so, let us know the reason!
We highly recommend to read the wiki page ET:Legacy Path Structure.
- Build the engine on your distribution
- Download the official release for the mod part
- engine package (etlegacy)
- mod package (etlegacy-mod)
Engine package files¶
All files of fs_basepath content except 'legacy’ path.
Depending on your package and build options parts of the engine can be stored at different target locations (see #81).
There are 2 shell scripts provided in the release files how to start Omni-Bots for the game. Omni-Bot isn’t enabled by default but it’s a nice to have for LAN games.
Ensure there are easy options for users to run the bots.
- Man pages for etl and etlded binaries are provided (to be installed in /usr/share/man/man6/)
Menu icon and et:// connection protocol¶
A menu icon and registration for et:// protocol association are implemented with the Freedesktop XDG standard.Three files are provided in /misc:
- etl.svg (to be installed in /usr/share/icons/hicolor/scalable/apps/)
- etlegacy.desktop (to be installed in /usr/share/applications/)
- etlegacy.xml (to be installed in /usr/share/mime/packages/)
Additionally, the icon, desktop and mime cache need to be updated by the installer to correctly display the icon and register the et:// protocol:
# xdg-icon-resource forceupdate --theme hicolor # update-desktop-database # update-mime-database /usr/share/mime
Systemd service and config files¶
Since systemd is becoming a common default init system on many major distributions, upstream systemd service files are provided. This allow to set up a dedicated server in /var/lib/etlegacy-server with the default configuration very easily.
Other distribution-specific configuration files (SysV, UpStart, OpenRC) should be provided by the respective packages.Two files are provided in /misc:
- etlegacy.service (to be installed in /usr/lib/systemd/system/)
- etlegacy.conf (to be installed in /etc/xdg/etlegacy/conf/)
In addition, etlegacy configuration files (/usr/*.cfg) need to be moved to /etc/xdg/etlegacy/etmain, with respective symlink placed in /usr/lib/etlegacy/etmain/.
To start the dedicated server:
# systemctl start etlegacy
Mod package files¶
All files of downloaded official release from 'legacy’ path which you did exclude from your build.
Game data files¶
While the W:ET source code has been placed under the GPLv3 license, the game assets (also know as "game data files") are still covered by the original license. Because of legal restriction, those data cannot be shipped with our game, but you can download them and for from the official Splash Damage website.
You need pak0.pk3, pak1.pk3 and pak2.pk3 and these files must be placed either in
My Documents\ETLegacy (Win),
~/.etlegacy/etmain (*nix) or in the etmain directory located in the same directory from which etl was started.
Test the package/installation¶
Run the game the first time - fs_homepath has to be empty or isn’t created. After first run there are 2 folder created in fs_homepath (and fs_homepath path as well): 'etmain’ and 'legacy’
Important: The 'etmain’ path of fs_homepath shouldn’t contain any profile pathes, .so or ET: Legacy specific files. If you connect to online servers (sv_pure 1 servers!) only maps are stored here.
Your install is fine when profile path, hunkusage.dat and .so files are in 'legacy’ path of fs_homepath.