Arena — LAN multiplayer game

A top-down arena shooter that runs on your own Wi-Fi. One Mac runs the server, everyone else opens a link and plays — no internet, no account, no cloud. Real players, real time.

⬇︎  Download — join a game Host a game (27 MB) macOS 11+ · Apple silicon
Join app 513 KB · Server 27 MB · both install into Applications
Two files, two jobs.

Whoever is hosting installs Arena Server — it starts the game, prints the join address and shows a QR code. Everyone else installs Arena Join: it searches the Wi-Fi, finds the host on its own, and opens the game in a browser. Nothing to type, nothing to configure.

What it does

Host with one double-clickDouble-click Arena Server. Up comes the arena, the join link and a QR code you can show on screen.
Joiners find you automaticallyArena Join sweeps the local network for the host — it found one in a fraction of a second when tested — instead of being told an IP address.
Twin-stick combatMouse and keyboard on a Mac, touch joysticks on a phone. Move and aim independently, health bar, scoreboard, kill feed.
Live match HUDHealth bar, player list with live scores, damage flashes and a kill feed of who got whom.
Phones play tooOn a phone the left thumb moves and the right thumb aims and fires — two separate sticks, so you can run one way and shoot the other.
Host console — remove anyoneThe host gets a ⚔ Host button: a roster of everyone connected with HP and score, and a Kill button on each row that drops that player instantly. Only your Mac can open it — friends on the Wi-Fi get refused.
Works offlineThe whole game is on your Mac. No internet needed once the files are installed — only the local network.

Install

On the hosting Mac

  1. Download Arena Server (27 MB) above.
  2. Double-click the .pkg, then Continue → Install.
  3. Open Arena Server from Applications. The arena and the join link appear.

On every other Mac or phone

  1. Download Arena Join (513 KB) above (Macs), or just scan the host's QR code with a phone camera.
  2. Double-click the .pkg and install it.
  3. Open Arena Join — it finds the host and opens the game. Or type the address from the host's screen into any browser.
First launch will warn you once. These installers are not signed with a paid Apple Developer certificate, so macOS says it can't verify the developer. To get past it: right-click the app in Applications → Open → Open again. Or System Settings → Privacy & Security → Open Anyway. You only do this once per app.

Prefer the terminal?

Terminal-downloaded files skip the warning entirely:

# host machine
curl -L https://isaac1804.com/files/installers/Arena-Server-1.0.2.pkg -o /tmp/ArenaServer.pkg
sudo installer -pkg /tmp/ArenaServer.pkg -target /

# everyone else
curl -L https://isaac1804.com/files/installers/Arena-Join-1.0.2.pkg -o /tmp/ArenaJoin.pkg
sudo installer -pkg /tmp/ArenaJoin.pkg -target /

Play

ControlDoes
W A S D / arrowsmove
mouseaim
click / Spacefire
left stick + fire buttonmove and shoot on a phone or tablet
right-side dragaim on a phone — separate from the stick, so you can move one way and shoot another
⚔ Host (host only)open the host console and kill any player instantly

If nobody can join

Everyone must be on the same network. That is the only requirement — no internet, no port forwarding, no accounts.

School and public Wi-Fi often block device-to-device traffic (isolation), so the join app can't see the host even though you are both connected. It is not the game — the network is refusing to pass it. Turn on a phone hotspot and put both Macs on that; it works immediately.

Still stuck? Type the address shown on the host's screen straight into a browser on the other machine — that bypasses discovery and goes directly to the game.

Uninstall

# drag Arena Server / Arena Join out of Applications, then remove the saved log
rm -f ~/Library/Logs/ArenaServer.log
Built by Isaac Chan · Two self-contained installer packages — the game, its Python runtime and its client are all inside them, so there is nothing else to install.

Arena Server 1.0.2 — SHA-256
cc358cd6c437e6059ccf221049f0864926dc67588b2fbf4ca517ed66c43e4e1e

Arena Join 1.0.2 — SHA-256
f009c3d4b034df4f9751c0cecaf2c81df022e727466a4f5e394d2aa5afec23e3