{"slug": "vibeworld-a-persistent-multiplayer-world-that-lives-in-your-terminal", "title": "VibeWorld – a persistent multiplayer world that lives in your terminal", "summary": "VibeWorld, a persistent multiplayer world that runs in a terminal, has been released as a single Go binary with zero dependencies, featuring voice chat, pixel-art avatars, and a rocket to the moon. The MMO is designed for developers to explore a neon-lit planet of ten continents, with no account required and a public server capped at 350 concurrent users.", "body_md": "A neon planet of ten continents — nine sciences orbiting the Agora, the crossroads at the center — and you walk a terminal map of your own field, meeting other devs at street corners named after the people and papers you argue about. Keep each other company at 2am while the code misbehaves; and when your AI agent \"fixes\" the failing test by deleting it, take a rocket to the moon and scream.\n\nDiscord became a list of servers.\n\nSlack became work.\n\nSocial media became feeds.\n\n**We wanted a place.**\n\nSo we built one — an MMO that runs in your terminal. Not a metaphor:\na multiplayer TUI, a cyberpunk, neon-lit planet you walk street by\nstreet — no browser, no Electron, one pure-Go binary. Then it starts\ndoing things terminals aren't supposed to do. Voice chat with zero\nextra installs — the codec ships inside the binary. A pixel-art avatar\neditor with a palette, undo, and working mouse support, in the\nterminal. A rocket to the moon, where you type what your LLM did to\nyou this time and launch the scream into orbit — and everyone on the\nplanet reads it in the sky, right next to the moon (see *The moon*).\n\nA planet, not another server list. Come with friends and claim a\nstreet corner, or show up alone at 3am and watch comets from a ledge\non the moon — it holds up either way (see *Fine on your own, too*).\nInstalling it just to see it is a valid use case:\n\n```\ncurl -fsSL https://raw.githubusercontent.com/SorBalda/vibeworld/main/install.sh | sh\nvibeworld\n```\n\nOne binary, zero dependencies, checksum-verified — details in *Install*.\n\nLeave it running on a second monitor while you actually work. It's not asking for your attention — it's just there, the way a window is.\n\nTake the rocket to Luna and you can just... watch. Alone, or next to whoever's already sitting at the Stargazer's Ledge — the sky doesn't check who's there before it's worth looking at.\n\nOne command. One binary. Zero dependencies — voice chat included, and\nthere is *nothing else to install*: the audio codec is pure Go.\n\n```\ncurl -fsSL https://raw.githubusercontent.com/SorBalda/vibeworld/main/install.sh | sh\nvibeworld\n```\n\nThe script detects your OS/arch, verifies the SHA256, and drops a single\nbinary in `~/.local/bin`\n\n. Windows: grab `vibeworld-windows-amd64.exe`\n\nfrom\nthe [Releases page](https://github.com/SorBalda/vibeworld/releases).\nLinux and Apple Silicon (M-series) Macs are supported today; **Intel Mac\nsupport is coming soon**.\n\nThe public server is built in: ** wss://vibecity-andrea.fly.dev/ws**.\nVibeWorld is early — one trial server, capped at 350 online at once, and\nit sleeps when nobody's around, waking on the first connection. If your\nlogin takes a second, that's the server booting because you showed up:\nnot a crowd, a feature — an empty world shouldn't run up an idle cloud\nbill. Some nights it\n\n*will*be quiet. That's fine — the world's still live and there's plenty to do with no one else online (see\n\n*Fine on your own, too*); someone tends to wander in eventually.\n\nNo account needed. `vibeworld --anon`\n\nif you'd rather be nobody.\n\nSame command as installing — the script always fetches the latest release:\n\n```\ncurl -fsSL https://raw.githubusercontent.com/SorBalda/vibeworld/main/install.sh | sh\n```\n\nWindows: grab the newest `vibeworld-windows-amd64.exe`\n\nfrom the\n[Releases page](https://github.com/SorBalda/vibeworld/releases).\n\nYou don't need to check by hand: when a new version is out, vibeworld\nshows a `▲ update available`\n\nline at login with the exact command to\nrun. `vibeworld --version`\n\nprints what you're running. To stay in the\nloop, watch the [Releases page](https://github.com/SorBalda/vibeworld/releases)\n(GitHub → Watch → Custom → Releases).\n\nLog in and you're floating between Terra and Luna — pick a direction and you're in it. Continents are disciplines. Artificial Intelligence is a landmass. Engineering is another. The Agora sits at the center, the crossroads everyone orbits. You orbit, you pick, you descend.\n\nIn the Agora stands the Tablet of the **Ten Commandments of Science**\n(\"Your agent 'fixed' the test. It is gone.\"):\n\nThey're engraved at the crossroads of the world because every discipline walks past them on the way to its own continent. Nobody follows them. That's why they're carved in stone.\n\nEvery city is a neon plan you actually *walk*, junction to junction.\nCorners are named after the people your field argues about.\n\nPress `Enter`\n\non a corner and it goes full 3D — towers, rain of dead\npixels, whoever else is standing there, and a chat panel. A corner is a\nroom. A monument is a gathering. Walk up and you're in it.\n\nOn your first login you put on a specialization: a macro-area and one line of truth, shown on your card to everyone you meet.\n\nYour card can also carry a **GitHub and/or LinkedIn link** (`p`\n\nto edit\nyour own profile). Anyone who likes talking to you can press `g`\n\n/`l`\n\non\nyour card to open them — a two-step confirm, never a one-key surprise\nclick. It's a social space for people who argue about code at 2am; might\nas well let networking happen where it's actually happening.\n\nThen, that first time only, you get an avatar. There is a pixel editor. It has a palette, undo, mirror mode, a flood fill, and a 3D preview. Yes, the mouse works. In the terminal. We had to draw the line somewhere and we drew it as a 16x16 sprite. Come back later and you land straight on the globe — no re-onboarding.\n\nCorner chat, city chat, DMs with image and PDF sharing, profiles, block/report — and slash emotes, because some things a keyboard says better:\n\n`/kiss`\n\n. Pixel hearts. `*mhua*`\n\n. No microtransactions were involved.\n\nPress `ctrl+V`\n\nand you're talking — press it again and you stop. The\nfirst press is your mic consent; until then you're listen-only. The\ncodec is pure Go, the binary you already downloaded is the whole stack:\nno PortAudio, no Opus packages, no \"please install these 12 system\nlibraries first\".\n\n(That object in the sky showed up on its own during the screenshot. We kept it. You would have too.)\n\nStuck at 2am? Step into any corner (`Enter`\n\non it from the street) and\npress `!`\n\nto type what's wrong. A red ribbon with a countdown goes up\nover the junction for everyone in the city to see. It's on-call for\npeople, not pagers.\n\nTake the rocket to Luna, the philosophic moon. Two things happen up there, and they're opposites.\n\n**Screaming.** At the **Complaint Crater** there's a booth. You type\nwhat your LLM did to you this time; the RAGE meter fills as you type;\nthen you launch your tantrum into orbit. Your scream joins the wall\nunder `▼ LAST SCREAM HEARD FROM SPACE`\n\n— and here's the thing:\n*everyone sees it.* Anyone looking at the sky from anywhere on the\nplanet gets your words next to the moon. Screaming into the void,\nexcept the void has a player count.\n\n**Stargazing.** The moon also has quiet places. At the **Stargazer's\nLedge** you sit with whoever's there and watch comets, the Earth\npassing overhead, and occasionally something that is *no moon*. Press\n`ctrl+n`\n\nfor lo-fi classical — Beethoven, at a sensible volume, on the\nactual moon. The **Contemplation Dome** next door is a music-only\nsanctuary: no voice, no noise. Some places should stay like that.\n\nYou don't need anyone else logged in for this to be worth it. Leave\nVibeWorld open on a second monitor, go sit in a room, watch the sky\nfrom the Ledge, or read the last scream heard from space. The planet,\nthe moon, the beacons, the wall — the world itself is company. This\nisn't `--offline`\n\n: you're still on the real server, it's just that some\nnights it's quiet. Someone tends to wander in eventually.\n\n| Key | Does |\n|---|---|\n`←↑↓→` / `hjkl` |\nwalk the streets · orbit the planet |\n`Tab` |\ncycle worlds, regions, cities, chat tabs |\n`Enter` |\ndescend · enter a corner or monument · send chat |\n`Esc` |\nback out, all the way to space |\n`c` |\nchat in the city |\n`m` |\ncycle monuments |\n`!` |\nraise a HELP flare (once inside a corner) |\n`/kiss` `/punch` `/jump` |\nemotes, typed in chat |\n`ctrl+V` |\nvoice — press to talk, press again to stop |\n`ctrl+n` |\nlo-fi classical, on the moon |\n`]` |\nsocial sidebar (`e` avatar studio · `d` DM) |\n`:` |\ncommand console (planet/region) |\n`?` |\nevery key, in-world |\n`q` / `ctrl+C` |\nquit (the flare, sadly, works only in-world) |\n\n**No recording voice chat.** People talk because it's ephemeral.**The Contemplation Dome is a sanctuary.** Music only. Take the argument to the Complaint Crater, that's what it's for.- Block and report exist and work. Be someone worth stargazing with.\n\nPlain facts, no marketing. Your connection is TLS (`wss://`\n\n), and every\nhandle, message, bio, shared filename, HELP line, and complaint that\nreaches your terminal is stripped of control and escape sequences before\nit renders — so a hostile peer or server can't hijack your terminal\nthrough a chat line (`internal/textsafe`\n\n, applied on both ends). What we\n*don't* do: there is no end-to-end encryption. The server relays — and\ncan see — your text, DMs, shared images/PDFs, and voice, so don't send\nanything you'd mind a server operator seeing. Voice isn't recorded (it's\nephemeral by design; see *House rules*), but it isn't E2E-encrypted\neither. Block and report exist and work.\n\nModding starts at [ mod-sdk/](/SorBalda/vibeworld/blob/main/mod-sdk) (Apache-2.0): declarative\nworldpacks — data, not code.\n\nToday: VibeWorld ships as **closed binaries** (free to use) talking to a\n**closed, proprietary server** — client source isn't public yet, server\nstays unpublished. What *is* open right now: the **Mod SDK**\n([ mod-sdk/](/SorBalda/vibeworld/blob/main/mod-sdk)) is\n\n**Apache-2.0**. The client source is\n\n*planned*to open under\n\n**PolyForm Perimeter 1.0.0**(read it, mod it, build it — just don't ship a competing clone), but there's no date yet — watch the repo.\n\nDon't want to trust a closed world? ** vibeworld --offline** runs a\nfull self-contained world with no server at all — your machine, your\nrules, nothing phoned home.\n\nFull text: [ LICENSE](/SorBalda/vibeworld/blob/main/LICENSE). The name is reserved:\n\n[.](/SorBalda/vibeworld/blob/main/TRADEMARK.md)\n\n`TRADEMARK.md`\n\nYour terminal has been a place of work for decades. It can be a place, full stop. See you on the moon. ✦", "url": "https://wpnews.pro/news/vibeworld-a-persistent-multiplayer-world-that-lives-in-your-terminal", "canonical_source": "https://github.com/SorBalda/vibeworld", "published_at": "2026-07-07 07:36:32+00:00", "updated_at": "2026-07-07 07:59:50.668566+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "generative-ai"], "entities": ["VibeWorld", "Go", "GitHub", "Discord", "Slack", "LLM"], "alternates": {"html": "https://wpnews.pro/news/vibeworld-a-persistent-multiplayer-world-that-lives-in-your-terminal", "markdown": "https://wpnews.pro/news/vibeworld-a-persistent-multiplayer-world-that-lives-in-your-terminal.md", "text": "https://wpnews.pro/news/vibeworld-a-persistent-multiplayer-world-that-lives-in-your-terminal.txt", "jsonld": "https://wpnews.pro/news/vibeworld-a-persistent-multiplayer-world-that-lives-in-your-terminal.jsonld"}}