Skip to content

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.

  • A running server
  • One client for each player
  • A copy of the release build or the repository source tree
  • TCP port 54321 and UDP port 54322 open on the server machine

If you downloaded a release build, launch the server JAR directly:

Server terminal
java -jar Flaggi-server.jar

If you are running from source, the helper script builds the server automatically and launches it for you:

Server terminal
./scripts/run.sh server

[!IMPORTANT] Start the server first. The client will not connect until the TCP listener is available.

Client terminal
java -jar Flaggi-client.jar

Or, from source:

Client terminal
./scripts/run.sh client

In the client menu, enter the server address and your username.

SituationExample address
Same machinelocalhost:54321
Same Wi-Fi / LAN192.168.1.50:54321
Different networkUse a VPN or port forwarding
  • WASD or arrow keys to move
  • Space, F, or mouse click to shoot
  • Capture the enemy flag and bring it back to your base
  1. The client opens a local UDP listener.
  2. It sends a TCP hello with your username and UDP port.
  3. The server assigns a UUID and replies with the server UDP port.
  4. 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.

  • 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.