https://github.com/siohaza/fosilo
An Ace of Spades 0.75 server implementation in Golang
https://github.com/siohaza/fosilo
aceofspades aos golang lua
Last synced: 15 days ago
JSON representation
An Ace of Spades 0.75 server implementation in Golang
- Host: GitHub
- URL: https://github.com/siohaza/fosilo
- Owner: siohaza
- License: gpl-3.0
- Created: 2025-11-14T23:41:17.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-27T15:24:18.000Z (29 days ago)
- Last Synced: 2026-02-27T20:27:39.999Z (29 days ago)
- Topics: aceofspades, aos, golang, lua
- Language: Go
- Homepage:
- Size: 161 KB
- Stars: 16
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fosilo
An Ace of Spades 0.75 dedicated server written in Go.
## Features
- Supports the entire protocol (including community extensions)
- Supports the following game modes: CTF, TDM, Babel, Arena, TC
- Add server to the BuildAndShoot and aos.coffee masterservers
- Plugin system for commands and gamemodes in Lua
## Installation
1. Ensure you have ENet installed on your system from your favorite package manager
2. Grab pre-compiled binary or build from source
3. Edit config file of game mode you wish to run, change passowrds, setup map pool, enable registration in the masterserver etc.
4. Launch the server, for example we will be using CTF
`./fosilo start --config config/config-ctf.toml`
### Building from Source
1. Clone the repository:
```bash
git clone https://github.com/siohaza/fosilo.git
cd fosilo
```
2. Install ENet from your favorite package manager and then Golang dependencies:
```bash
go mod download
```
3. Build the server:
```bash
make build
# OR
go build -o fosilo ./cmd/fosilo
```
The compiled binary will be created as `fosilo` in the project root.
For detailed Lua API documentation see [this](docs/lua.md) file.
## License
[GPLv3](LICENSE)
## Credits
- [libspades](https://codeberg.org/totallynotaburner/libspades) and [piqueserver](https://piqueserver.github.io/aosprotocol/) - 0.75 protocol documentation with extensions
- [SpadesX](https://github.com/SpadesX/SpadesX) - reference for physics code, vxl map parser
- [libvxl](https://github.com/xtreme8000/libvxl) - reference for vxl map parser
- [NotABurner](https://codeberg.org/totallynotaburner) - major help with server debugging, design suggestions
- [sByte](https://github.com/DryByte) - design suggestions