This is the community client for Astonia 3. It is based on, and compatible with, the client maintained by Daniel Brockhaus.
The main goal is to allow community driven development.
Further goals:
- Maintain backwards compatibility with the original game server.
- Maintain compatibility with all servers currently using the client.
- Keep it simple. No additional libraries, frameworks or tools unless absolutely needed.
- Whenever possible, put bugfixes in single commits for easy cherry-picking.
- Always have a downloadable Windows release with sensible hardware requirements and no software requirements.
- Work towards supporting more / all of the servers.
Install MSYS2. It comes with three shells, launch the clang 64 one (not aarch64).
Install dependencies:
pacman -Syu
pacman -Sy mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-libpng mingw-w64-clang-x86_64-libzip mingw-w64-clang-x86_64-mimalloc mingw-w64-clang-x86_64-cmake mingw-w64-clang-x86_64-ninja make zip mingw-w64-clang-x86_64-dwarfstack mingw-w64-clang-x86_64-zig mingw-w64-clang-x86_64-rustup
make build-sdl3 build-sdl3-mixer
rustup toolchain install stable-x86_64-pc-windows-gnullvm
rustup default stable-x86_64-pc-windows-gnullvmThen build:
makeTo run bin/moac.exe outside of the MSYS2 shell, copy the required DLLs into bin/:
cp /clang64/bin/{zlib1,libpng16-16,libzip,libbz2-1,liblzma-5,libzstd,dwarfstack,SDL3,SDL3_mixer,libmimalloc,libc++}.dll bin/Install dependencies:
sudo pacman -S base-devel sdl3-git sdl3_mixer-git libpng libzip zlib mimalloc zig rust
# Or: make build-sdl3 build-sdl3-mixerOr use Docker (no dependencies needed):
make docker-linuxBuild a portable AppImage that runs on any Linux distribution:
make appimageThis creates astonia-client.AppImage which bundles all dependencies (including SDL3) and works on any modern Linux distribution without installation.
Requirements: FUSE2 must be installed to run AppImages. Most distributions include it by default, but if needed:
# Arch Linux
sudo pacman -S fuse2
# Ubuntu/Debian
sudo apt install libfuse2To run the AppImage:
chmod +x astonia-client-*.AppImage
./astonia-client-*.AppImageAlternatively, extract and run without FUSE:
./astonia-client-*.AppImage --appimage-extract
./squashfs-root/AppRunInstall Xcode Command Line Tools:
xcode-select --installInstall dependencies:
brew install cmake ninja zig libpng zlib libzip mimalloc rust
make build-sdl3 build-sdl3-mixermake # Build for current platform
make zig-build # Build using Zig
make distrib # Create distribution package
make amod # Build mod (src/amod/)
make clean # Clean up build assetsRun quality checks locally before committing (same checks as CI pipeline):
make lint # Auto-fix code formatting
make check # Run all quality checksTo run tests:
make test