The server module represents the core of the LAN Server. It is a simple web server that listens to the game's API requests. The server reimplements the minimum required API surface to allow the game to work in LAN mode.
- Windows 10 (no S edition/mode).
- Windows Server 2016.
- Windows IoT.
- Linux: kernel 2.6.32 (see here for more details).
- macOS: Catalina (v10.15).
Admin rights or firewall permission to listen on port 443 (https) will likely be required depending on the operating system.
Experimental
- BSD-based (OpenBSD, DragonFly BSD, FreeBSD and NetBSD).
- Solaris-based (Solaris and Illumos).
- AIX.
Note: For the full list see minimum requirements for Go 1.22.
You can use your own certificate by (re)placing the cert.pem
and key.pem
files in the resources/certificates
directory.
The easiest way to generate a self-signed certificate is by running the bin/genCert
executable (more
info here or you may leave
that to
the launcher
if you are hosting and running the launcher on same PC.
The few configuration options are available in the config.toml
file. The file is
self-explanatory and should be easy to understand.
The configuration file sent to the client upon login is login.json
inside the game subdirectory in resources/config
.
Some options
are
easy to understand while others might require researching.
The game connects to a static cloud to download assets. The server is configured to replace the original calls to
itself. The configuration file is cloudfilesIndex.json
inside the game subdirectory in resources/config
and the
corresponding
files reside in the cloud
directory.
The chat channels are defined in the chatChannels.json
file.
The server also serves some static responses for the game to work. The files are located in
the responses
base directory.
Item Definitions
: Definitions of items. Includes rewards, challenges and other items.
Achievements
: List of achievements.Leaderboards
: List of leaderboards.Automatch maps
: List of maps for automatch.Challenges
: List of challenges.Presence Data
: Presence data. Basically if a player is online, offline or away.Item Definitions
: Definitions of items. Includes rewards, challenges and other items.Item Bundle Items
: Grouping of items into bundles.
Achievements
: List of achievements.Leaderboards
: List of leaderboards.Item Definitions
: Definitions of items. Includes rewards, challenges and other items.
CLI is available with similar options as the configuration. You can see the available options with
server -h
.
For documentation on how what each endpoints does, please refer to LibreMatch documentation. Other endpoints are mostly self-explanatory.
See Docker for information.