1.8 KiB
Towards
Game engine built as a modular monolith.
Building
Dependencies:
- Conan 2 (
pipx install conan, orpip install conan) - Vulkan SDK
The Vulkan SDK must be installed before building. Do not forget to set PATH on Windows.
On Linux, Conan builds SDL2 from source and still needs the system OpenGL/X11/Wayland/ALSA development headers present.
First time only, create a Conan profile describing your compiler:
$ conan profile detect
Install the pinned dependencies and generate the CMake toolchain + presets:
$ conan install . --output-folder=build --build=missing -s build_type=Debug
Configure and build using the generated preset:
$ cmake -S . -B ./build -DCMAKE_TOOLCHAIN_FILE="build/conan_toolchain.cmake" -DCMAKE_BUILD_TYPE=Debug
$ cmake --build ./build
For a release build, repeat both steps with -s build_type=Release and the
conan-release preset.
There are now two executables:
Server is at build/modules/client/mmo_server
Client is at build/modules/client/mmo_client
First run the server, so that client can connect. The server will try to use port 8080, but if it is already occupied, it will try use the next free higher one.
Docker build
It also possible to build the project using Docker. Advantage is that you do not have to set up the environment. The current Dockerfile also uses older linux distribution to be backwards compatible with older systems. To build everything, build the Dockerfile at docker/Dockerfile with until target builder:
$ docker build -f docker/Dockerfile --target builder -t tw_builder:jammy .
To easily export the built executables, run the target export of the same Dockerfile.
$ docker build -f docker/Dockerfile --target export --output type=local,dest=dist .