Play the Game
Flaggi is a local multiplayer capture-the-flag game. There is no public server, so one player runs the server and the others connect to it with the client.
What you need
Section titled “What you need”- A running server
- One client for each player
- A copy of the release build or the repository source tree
- TCP port
54321and UDP port54322open on the server machine
Fastest way to start
Section titled “Fastest way to start”1. Start the server
Section titled “1. Start the server”If you downloaded a release build, launch the server JAR directly:
java -jar Flaggi-server.jarIf you are running from source, the helper script builds the server automatically and launches it for you:
./scripts/run.sh server[!IMPORTANT] Start the server first. The client will not connect until the TCP listener is available.
2. Start the client
Section titled “2. Start the client”java -jar Flaggi-client.jarOr, from source:
./scripts/run.sh client3. Connect
Section titled “3. Connect”In the client menu, enter the server address and your username.
| Situation | Example address |
|---|---|
| Same machine | localhost:54321 |
| Same Wi-Fi / LAN | 192.168.1.50:54321 |
| Different network | Use a VPN or port forwarding |
Controls
Section titled “Controls”- WASD or arrow keys to move
- Space, F, or mouse click to shoot
- Capture the enemy flag and bring it back to your base
What happens after you connect
Section titled “What happens after you connect”- The client opens a local UDP listener.
- It sends a TCP hello with your username and UDP port.
- The server assigns a UUID and replies with the server UDP port.
- The client switches to the lobby and then into the match.
[!NOTE] The game uses TCP for setup and gameplay events, and UDP for fast per-tick state updates.
Troubleshooting
Section titled “Troubleshooting”- Can’t connect: make sure the server machine address is correct and the port is
54321. - Nothing happens after launch: check the server terminal for logs.
- The client closes immediately: make sure you are using a full JDK/JRE release, not an incomplete install.
- Two clients on one machine: this is supported; each client keeps its own UDP listener.