# README
Server
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.
Minimum system requirements
Stable
- 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.
Configuration
Certificate
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.
Main
The few configuration options are available in the config.toml
file. The file is
self-explanatory and should be easy to understand.
Login
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.
Cloud
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.
Age of Empires III: Definitive Edition only
Chat Channels
The chat channels are defined in the chatChannels.json
file.
Other static responses
The server also serves some static responses for the game to work. The files are located in
the responses
base directory.
Age of Empires: Definitive Edition
Item Definitions
: Definitions of items. Includes rewards, challenges and other items.
Age of Empires II: Definitive Edition
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.
Age of Empires III: Definitive Edition
Achievements
: List of achievements.Leaderboards
: List of leaderboards.Item Definitions
: Definitions of items. Includes rewards, challenges and other items.
Command Line
CLI is available with similar options as the configuration. You can see the available options with
server -h
.
API endpoints
For documentation on how what each endpoints does, please refer to LibreMatch documentation. Other endpoints are mostly self-explanatory.
Docker
See Docker for information.