#board-game #strategy #hnefatafl #copenhagen #tafl

bin+lib hnefatafl-copenhagen

Copenhagen Hnefatafl client, engine, server and artificial intelligence

40 releases (17 stable)

Uses new Rust 2024

4.4.1 Dec 5, 2025
4.3.0 Nov 24, 2025
4.1.0 Jul 27, 2025
3.0.1 Jul 17, 2025
0.13.0 Mar 27, 2025

#126 in Game dev

MIT/Apache

350KB
10K SLoC

Copenhagen Hnefatafl

githubcrates-iodocs-rs

Opening Game

An engine similar to the Go Text Protocol, a client, and a server. For help on how to use the engine see the module documentation.

Building and Running

First you need to install Rust. Then:

git clone https://github.com/dcampbell24/hnefatafl.git
cd hnefatafl

Then you can run the engine with:

# --release is optional
cargo run --release --bin hnefatafl-text-protocol -- --display-game

or you can start a local server:

# --release is optional
cargo run --release

and run a client:

# --release is optional
RUST_LOG=hnefatafl_client=debug cargo run --release --example hnefatafl-client -- --host localhost

If you are running on Linux, you'll need some dependencies as described on the website.

Website

You can also get the rules and more information about downloading the software on the website.

Discord

Click to join our Discord server.

Packaging Status

AUR (client)
crates.io (AI, engine, server)
chocolatey.org (client)
deb (attacker AI, defender AI, client, engine, server)
flathub.org (client)
npm (engine)

Icon

The icon used for the flathub version of the hnefatafl-client was created by Marvin T. @marvintubat123.

License

Licensed under either of the Apache License or the MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this software by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~12–33MB
~454K SLoC