https://github.com/snmetamorph/xashms
Asynchronous, cross-platform masterserver implementation for Xash3D FWGS engine. Written in C++17, supports IPv6 and simple NAT bypassing technique.
https://github.com/snmetamorph/xashms
cmake cpp17 docker ipv6-support libevent vcpkg xash3d-fwgs
Last synced: 2 days ago
JSON representation
Asynchronous, cross-platform masterserver implementation for Xash3D FWGS engine. Written in C++17, supports IPv6 and simple NAT bypassing technique.
- Host: GitHub
- URL: https://github.com/snmetamorph/xashms
- Owner: SNMetamorph
- License: gpl-3.0
- Created: 2024-04-22T12:52:18.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-08-29T10:48:35.000Z (11 months ago)
- Last Synced: 2025-10-19T17:58:01.933Z (9 months ago)
- Topics: cmake, cpp17, docker, ipv6-support, libevent, vcpkg, xash3d-fwgs
- Language: C++
- Homepage:
- Size: 123 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# XashMS
Asynchronous, cross-platform masterserver implementation for Xash3D FWGS engine. Written in C++17, based on libevent, supports IPv6.
## What does this program do?
In context of Xash3D game engine, main purpose of masterserver is to provide list of dedicated servers to players, so they can join to some of these servers.
To gather this list, dedicated servers periodically send "heartbeat" packet to master server, which is some kind of "keep-alive" packet and means that exact dedicated server still functioning and ready to accept connections from players, then masterserver adds this server address to list.
In case if dedicated server stopped sending such packets (server was stopped, or Internet connection was lost), after some time masterserver will remove it from public servers list.
## Usage
- `--ip`, `-ip` - address of IPv4 interface, which will be listened for incoming packets
- `--ip6`, `-ip6` - address of IPv6 interface, which will be listened for incoming packets
- `--port`, `-p` - number of port that will be used for incoming connections