// 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 · zero UE4SS imports

01 What is this?

Multivoid adds co-op to the single-player game. It works as a listen server: 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, 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.

03 Features

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

Shared world

Props, physics, weather, the day-night cycle and fog are synced. Move a pallet and your friend sees the pallet move.

Events & NPCs

The host schedules events; creatures and anomalies are mirrored live. Kerfur works for everyone.

The signal desk

Dishes, pings, downloads, decoding, the drive rack, the meadow database. The whole desk can be worked as a team.

Proximity voice

Built-in positional voice chat, plus text chat with nameplate bubbles.

Server browser

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

Skins & identity

Wear the game's own skin mods in co-op — crewmates with the same skin pack installed see them. Nick colors, a player list, and admin tools (kick/ban) for the host.

Death, not the main menu

Dying plays out the way the game intends — and then you come back, instead of the world unloading and dropping everyone to the menu.

Your lobby, your rules

Lock a session with a password, or keep it off the public list entirely. Peers prove who they are before they get a seat.

04 Demo

A recorded co-op session (July 2026 progress build).

05 Q & A

Is it P2P or server-authoritative?

It's a listen server. Every client connects to the host, and the host has the final say over the world, the save, NPCs and events. Players send their own movement and voice; everything else goes through the host, and clients never talk to each other directly. The master server lists lobbies and introduces peers to a host when they join — it has no say in the game itself, and once you are connected it is out of the loop.

Do you just send an "event happened" message?

Mostly no. Only the host schedules events, but an event isn't one message: the creatures, weather and alarms it involves are each synced on their own, so what a client sees is the event, not a re-enactment of it. Joining mid-event works too — a joiner gets the host's save and a snapshot of whatever is going on right now.

Do you rewrite the game's logic to make it multiplayer?

No, and that's on purpose. All gameplay still runs in the game's own code, which the mod calls into. Multivoid only decides who controls what and what goes over the network. It also means a game update doesn't force a gameplay rewrite, because there is nothing to rewrite.

Who makes this, and how?

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

I didn't invent the multiplayer architecture — I went and learned it. The core decisions are adapted from MTA:SA, which has been solving this for a single-player game for twenty years: 153 files in our source name the precedent they follow, and in 16 of them the source says why we deliberately did it differently. Knowing which parts of twenty years of prior art apply to this game, and which don't, is the work. The repository and its full commit history are public, along with 135 design documents and a categorised record of everything this project got wrong on the way. Judge the result rather than the method — all of it is there to check.

Prior art this owes thanks to: MTA:SA for the multiplayer architecture it follows, RE-UE4SS for the UE4 modding substrate its reflection algorithms were ported from (also the loader the mod runs under — the mod itself imports nothing from it), MinHook for hooking, and VoidTogether, the first multiplayer attempt for this game, which was useful to study while designing this one. Full credits are in the README.

Does it modify game files?

Never. 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 in your mod manager, and the game boots completely stock. Its settings and logs live in a couple of folders next to the game — delete those too if you want a clean sweep.

My antivirus flags it — is this safe to install?

Expected, unfortunately. The mod is a DLL that loads into the game process (through UE4SS, the game's standard modding loader), and to a scanner that looks exactly like DLL injection — this is why so many game mods get flagged. You don't have to take our word for it, though. The source is public, so you can read it or build it yourself. Releases are built by GitHub Actions straight from that source, with the workflow's hash pinned into a release fingerprint that ties the binary to its commit. And every file's SHA-256 is printed in the release notes, so you can compare before running.

Network-wise, the full list: our own master.multivoid.dev — to list your lobby, fetch the lobby list, check for a newer version, and to introduce you to the host when you join; and a public STUN server (Google's, by default — changeable in the config) which tells your game what its own address looks like from outside. STUN sees an IP and nothing else. After that it's a direct connection to the people you play with, unless your networks refuse to meet, in which case the traffic is relayed — still encrypted end to end. No analytics, no tracking, no account.

Is it secure? Can someone snoop on or mess with my game?

Traffic between peers is encrypted, so nobody reads your voice or chat off the wire. Peers now 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 — and you can put a password on your lobby. What is not finished is what happens after that: the host still takes some things a client says on trust, and closing that off action by action is the current work. Hosting for friends is fine; hosting for strangers is still a door you're leaving open.

We'd rather tell you where it actually stands than put a padlock icon on the page. How to report something you find is in SECURITY.md.

06 Download

Dev builds only — there is no stable release yet, and everyone playing one is a tester. Expect bugs; good reports get credited in Credits. Full disclaimer & how to report.

Mod manager recommended

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

Get it on Thunderstore

Fresh dev builds

Builds land on GitHub first. For one newer than the listing, download the zip and hand it to r2modman via Settings → Import local mod. No account needed.

Dev builds on GitHub

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

// NOTE FROM THE MAINTAINER

I started on 21 May 2026. Three months later it has 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, and no project is at three months — one of which I spent away, on a game five years in development that was never designed to have multiplayer at all. Every project, AI or not, starts the same way: to make something good, you make something bad first. The dev builds are that, 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, which has been solving multiplayer for a single-player game for twenty years: 153 files in our source name the precedent they follow, and sixteen of them record where we deliberately departed from it. Deciding which of that prior art applies here and which of it does not is the work, and so far it is holding up.

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

COMMITS2,123 — every one public
LINEAGEMTA:SA — 153 source files name the precedent they follow
DOCS135 public design documents
LESSONSevery mistake worth keeping, written down and categorised
STATUSno stable release yet — expect bugs

07 Credits

Multivoid has no team and no QA department. Beyond the maintainer’s own work, everything here came from outside, whether as code, a report or a review. If it changed the mod, it gets a row.

WhoKindContributionLanded
pelmentor maintainercodeArchitecture, direction, releases — the whole mod745 commits
Claude AnthropiccodeImplementation, across the whole mod1,367 commits
TarangokcodeKO respawn, live skin preview, held-prop visibility, container extraction5 commits
hediiiqqcodeDish mirror interpolation1 commit
archhn0maddcodeRejoining without a relaunch; the host-link backlog claim1 commit
arigalitcode · reportATV seat contention; join-time prop-count divergence2 commits
huoyan1231code · reportCI & automated builds; the b125 host-log pack2 commits · b134
Moddy via DiscordreviewThe architecture and documentation review that became the UE4SS moveb122 · b143
SentientYeetreviewThe substrate critique that re-opened the loader decisionb143
Violet via Discordreport~9 FPS for a friend joining on Linux — the triage behind it found five separate defectsb134
decodinatorX via GitHub #5reportCouldn’t type sv.request at the SAT console — T kept opening chatb133
gediao via DiscordreportThe b125 host-log pack, with huoyan1231b134
SirWilliam via DiscordreportRejoining a session requires fully relaunching the gamequeued

What each one turned out to be and what shipped: docs/CREDITS.md. Pull requests and reports are both welcome — the live commit list is on GitHub.