// SIGNAL ACQUIRED — CREW ON STATION

MULTIVOID

Co-op multiplayer for Voices of the Void.
One station, one save, a crew of up to four.

No game files modified. Free and open source.

About

Multivoid adds co-op to the single-player game. One player hosts, and everyone plays in the host's world and save. Friends join from the server browser or by IP, walk the same base, drive the same ATV and split the station's work.

The game's own code still runs everything. Multivoid handles the multiplayer part: keeping players in sync and deciding whose version of events counts. The rest behaves the way the game always has, Kerfur included. Since the gameplay stays the game's own, there is no copy of it to rewrite when the game updates.

Features

Still in development; every build syncs a bit more of the game.

Shared world

Props and physics, weather, fog and the time of day are synced. Pick something up and your friend sees it move.

Events and NPCs

The host schedules events, and many creatures and anomalies are mirrored live to everyone.

Signal desk

Dishes, pings, downloads, decoding, the drive rack and the meadow database are synced between players.

Proximity voice

Built-in positional voice chat, plus text chat with bubbles over players' heads.

Server browser

Host from the in-game menu, find lobbies in the browser, or connect directly by IP.

Skins and identity

Pick a skin, from the bundled scientists to the game's own Kerfur bodies; players with the same skin pack see it. Nick colors and a player list, too.

Revive after death

Death plays out the way the game intends, then you're revived. The world stays loaded, so nobody is dropped to the main menu.

Private lobbies

Lock a session with a password, and when friends join by IP, keep it off the public list. Players prove who they are before they get a seat, and the host can kick or ban.

Demo

A co-op session recorded in July 2026.

Q&A

Safety and privacy

Does it modify game files?

No. It doesn't edit the .exe, repack the .pak or touch any asset. The mod is a standard UE4SS mod folder: remove it, or uninstall it in your mod manager, and the game starts completely stock. The mod does write its own settings, logs and player data, next to the game and in your user folder; delete those too for a clean uninstall.

Why does my antivirus flag it?

That's expected. The mod is a DLL that loads into the game process through UE4SS, the standard modding loader, and to a scanner that looks exactly like DLL injection, which is why so many game mods get flagged. You don't have to take my word for it: the source is public, so you can read it or build it yourself. Releases are built by GitHub Actions from that source, and each release's notes name the commit it was built from and print every file's SHA-256, so you can compare before running.

What does it connect to?

Multivoid's own server, master.multivoid.dev. It lists your lobby, serves the lobby list and the thanks list, checks for a newer version and introduces you to the host when you join. The same machine runs the STUN service that tells your game what its address looks like from outside, and the relay used when two players can't connect directly; relayed traffic stays encrypted end to end. Otherwise your game connects straight to the host. A connection you set up by hand in the settings file uses Google's public STUN server by default.

There are no analytics or tracking, and no account is needed. The servers keep ordinary connection logs.

Is it secure?

Traffic between players is encrypted (AES-256-GCM), so someone listening on the network can't read your session, and traffic with the master server runs over TLS. Players prove who they are before they get a seat: each side holds a signing key, and a joiner that can't answer the challenge doesn't get in. You can also put a password on your lobby.

What isn't there yet: there is no defence against an attacker sitting in the middle of the connection, since the connection-setup step isn't encrypted, and the host still takes some things a client says on trust. Closing those off is planned. For now, host only for people you know. To report a security problem, see SECURITY.md.

How it works

Is it P2P or server-authoritative?

It's a listen server. Every client connects to the host and clients never talk to each other directly: the host runs the save, the NPCs and the events, and relays everything else, including each player's movement and voice. The master server lists lobbies and introduces players to a host when they join; it has no say in the game.

How are events synced?

Only the host schedules events. An event isn't sent as one message: the creatures, weather and alarms it involves are each synced on their own, so clients see the host's event itself as it plays out. Joining mid-event works too: a joiner gets the host's save and a snapshot of whatever is happening at that moment.

How it's made

Who makes this, and how?

One person, working extensively with AI coding tools. The direction, the architecture, the testing and the releases are mine; much of the code is written with Claude, which is credited below with its commit count next to mine.

The core design is adapted from MTA:SA, which has been adding multiplayer to a single-player game for twenty years. 125 files in the source name the precedent they follow, and where the design deliberately differs, the source says why. The work is in knowing which parts of that prior art apply to this game. The repository, its commit history, 31 public documents and the rules every change has to pass are all public.

Is it a vibe-slop?

No. Vibe-slop, or AI-slop, means accepting whatever a model writes without checking it, and that isn't how this is built. Every code change has to follow the project's written rules, pass its automated checks and run on a two-player test rig before it counts as done; the netcode question below has the details. The full history is public: over 3,200 commits since May 2026.

Would it have fewer bugs if it were written by hand?

No. Multivoid started in May 2026 and adds multiplayer to a game that has been in development for five years and was never designed for it. Early builds of a project like that have bugs whoever writes the code. Bugs go away when they are found and fixed at the root cause, and that is what the process is built around.

If you hit a crash or a desync, please report it on Discord with your logs; several of the fixes credited below started that way. AI tools are a large part of why the project got this far this quickly.

Is it safe to let AI write netcode?

Only with guardrails, and the project has them. Boris Cherny, who created Claude Code, said it on X: “Production code written by Claude should have a higher bar than if it was written by a human.” This project holds that bar in four ways:

  • The rules are written down in CONTRIBUTING.md, for people and AI alike, and a script checks every rule a script can check.
  • 12 automated checks run on every push to the main branch and every pull request. Two of them guard the network code directly: every reliable message type must reach a receiver on the other side or document why it doesn't, and every place that writes a player slot must declare whether the seat changed hands.
  • A change isn't finished when it compiles. It runs with a host and a client on the test rig, and both logs are read. One race has a dedicated test so far: two players taking the same item at the same moment.
  • Finished work gets audited. One audit of every hook the mod installs, prompted by another modder's note, found six defects nobody had reported, including one that let a client delete props the host still held. All six are fixed in the source and ship in the next release; the write-up is in the credits.

Download

Dev builds only: there is no stable release yet, and everyone playing is a tester. Expect bugs, and please report them on Discord; useful reports are credited below. Install guide and full disclaimer.

Mod manager recommended

Install through r2modman and it sets up the loader for you; updates arrive the same way.

Get it on Thunderstore

Newest dev builds

New builds reach GitHub before Thunderstore. To use one early, download the zip and import it in r2modman under Settings → Import local mod.

Dev builds on GitHub

Built for Voices of the Void 0.9.0n. Everyone in a session needs the same Multivoid build.

Credits

Everyone whose code, bug report or review changed the mod gets a row.

Contributors to Multivoid: who, what, and where it landed
WhoContributionLanded
pelmentor maintainer · codeArchitecture, direction, releases: the whole mod1,800+ commits
Claude Anthropic · codeImplementation, across the whole mod1,367 commits · co-author on 1,800+
Wigard codeSandbox guests, the VS 2022 build, and seven sync fixes11 commits · unreleased
Marlore code · reportCarrying trash: four defects found and fixed at the root6 commits · unreleased
Tarangok codeKnockout respawn, live skin preview, held-prop visibility, container extraction5 commits
arigalit code · reportATV seat contention, prop counts after a join, the grappling hook2 commits · 2 co-authored
huoyan1231 code · reportCI and automated builds; the b125 host-log pack2 commits · b134
hediiiqq code · reportSmoother dish motion for other players; a failing CI gate (#10)1 commit
archhn0madd codeRejoining without a relaunch1 commit
Moddy review · design · via DiscordThe review behind the move to UE4SS, and design from Relay, Moddy's networking API for VOTVb122 to b167
SentientYeet reviewThe critique that re-opened the choice of mod loaderb143
Violet report · via Discord~9 FPS for a friend joining on Linux; five separate defects behind itb134
decodinatorX report · via GitHub #5Couldn’t type at the SAT console, because T kept opening chatb133
gediao report · via DiscordThe b125 host-log pack, with huoyan1231b134
doctaaaaa reportA ten-item field report on b150: lost floppy discs, the power chain, trash-pile costroot-caused · unreleased
SirWilliam report · via DiscordRejoining a session required a full relaunchfixed · unreleased
thewittyrobin report · via GitHub #17, #18Doors that never opened for the other playerroot-caused · unreleased

Prior art, with thanks: MTA:SA for the multiplayer architecture it follows; RE-UE4SS, the modding framework its reflection code was ported from and the loader the mod runs under; MinHook for hooking; and VoidTogether, the first multiplayer attempt for this game, which was useful to study while designing this one.

The story behind each row is in docs/credits.md. Pull requests and bug reports are welcome.

Multivoid is free and always will be. Donating covers the master server and the tools it is built with; nothing is gated behind it.

Donate on Boosty

// NOTE FROM THE MAINTAINER

I started on 21 May 2026. By September it had gone from an empty repository to playable co-op: up to four players, its own master server with a lobby list, a native in-game UI, one-click install through r2modman.

That is not the same as finished. No project is finished that early, least of all one that adds multiplayer to a game five years in development that was never designed for it, and I spent one of those months away. Every project, AI or not, starts the same way: to make something good, you make something bad first. The dev builds are that stage, in public, and what I got wrong along the way is written down rather than quietly lived with.

The architecture is not improvised: its core principles are adapted from MTA:SA, and deciding which of that prior art applies here is the work.

A large share of the code is written with Claude, and the direction, the architecture and every decision about what this should be are mine. Work done with these tools is work. They have moved further in a few years than most people's impression of them has, and that impression, rather than the result in front of them, is usually what is being argued with.

The goal is a proper multiplayer infrastructure for Voices of the Void, and the mod built on top of it. The foundation is standing. There is more coming.

> pelmentor

COMMITS
3,200+, every one public
LINEAGE
MTA:SA; 125 source files name the precedent they follow
DOCS
31 public documents
GATES
12 automated checks on every push to main, two of them on the netcode
STATUS
no stable release yet; expect bugs