Power Armor and Dogmeat outside the Red Rocket station
Fallout MPChangelog

Development
updates

The latest changes to Fallout MP

From the workshop

Builds are distributed through our Discord

Latest release

0.2.0

Available in DiscordA settlement built from scrap in Fallout 4Get the build

A character the server keeps, a server browser in the main menu, content a server streams to you as you join, companions, and a default gamemode that is a base for roleplay.

Release notes17 updates
  1. A server browser in the game’s own main menu, with Direct Connect, Browse, Local, Favorites and Recent tabs, search, filters and sorting. It reads the same MafiaHub masterlist as the servers page here, and joining a server starts from it.

  2. Servers can bring their own content. A resource’s stream folder (loose files laid out as in Data) and its mods folder (plugins and their archives) are sent to each player as they join. The client checks them, unpacks them, mounts them as game data and loads the plugins through the game’s own content reload before it enters the world, so nobody installs anything by hand.

  3. Level, XP, perks, perk points, S.P.E.C.I.A.L. and caps are the server’s record. The game’s own level-ups, perk chart and S.P.E.C.I.A.L. menu still run on the player’s machine; every change they make is reported, replayed against the server’s copy with each perk’s own rank, level and S.P.E.C.I.A.L. requirements, and put back if it does not hold up. Magazines and bobbleheads go through the same check.

  4. For scripters, the character comes with seven events and the methods to match: award XP, set the level, grant or remove a perk, set or damage any actor value, open the perk chart or the S.P.E.C.I.A.L. menu, and refuse a change before it sticks. The whole character, inventory included, reads out as one document a gamemode stores wherever it likes and hands back on the next join. Keeping it between sessions is the gamemode’s call, since only the gamemode knows how it identifies a player.

  5. The default gamemode is now a base for roleplay. A joining player waits at Red Rocket behind a login page while the camera flies over Red Rocket and Concord, then registers or logs in. Accounts and characters live in a SQLite database, passwords are hashed with a salt of their own, and five wrong passwords or five minutes without logging in end in a kick. Characters are saved on disconnect, every two minutes and when the gamemode stops.

  6. Until a character has finished the creator, every login goes through it: the game’s own look editor, then its S.P.E.C.I.A.L. menu. The look is stored and put back on every later login, and the character’s name shows in the game’s own menus.

  7. Accounts carry a staff rank (player, moderator, admin or owner). Commands ask for one, /help lists what a rank may run, and the debug tools are for admins. Plain chat is local speech under the character’s name, beside /me, /do, /s, /b, /ooc and /pm, and /pay hands caps to someone nearby.

  8. NPCs can follow a player as a companion. The NPC becomes the leader’s companion the way the game makes one, every other client plays it back, and the server takes it along when its leader travels or walks far off, and lets it go when they leave. Scripts set and read the leader, and "/npc follow" does it from chat.

  9. Fusion cores sync. The charge left in a suit is replicated, so a puppet’s empty core plays on every client, and each core a player loads, inserts or launches out is checked against the server’s inventory record and put to the scripts first. A refused core goes back to the inventory, and a charge rise the server cannot account for is put back.

  10. Each stack of items keeps its condition. A fusion core with 40% of its charge left used to arrive at the server, a container or another player as a full one; now the condition travels with every move, drop, pick-up and saved character, and scripts can read it and give items with it.

  11. Scripts can store a player’s look and put it back later, and name the character in its own game.

  12. More of the server reaches scripts: NPCs and workshop items as classes, with events for an NPC being hit, attacking, dying, respawning or changing hands, and for building, moving and scrapping in a workshop. New events cover a player changing worldspace, firing a projectile, closing or changing a container, and the hour turning. An inventory change can now be refused, a teleport can cross into another worldspace or interior, and a player’s health can be set. The server API now runs to 34 globals and classes and 49 native events.

  13. Client scripts get a LocalPlayer global with the player’s state, character and inventory, read-only queries on the world and the radio, and events for death, travel, power armour, weapons, menus, inventory, progression, objects, items and the workshop. They can also put markers on the compass and the Pip-Boy map, read the camera and turn a world position into a point on screen, play sounds, tint and shake the screen, and place objects only that player sees. Everything a resource creates goes when it stops.

  14. Web views work. 0.1.0 shipped the API but the client never started the browser behind it, so every view failed to open. Views now draw under the nametags and take mouse and keyboard; a focused view keeps the input from the game and the cursor visible.

  15. Resources can depend on npm packages, native addons such as better-sqlite3 included: the server stages a resource’s runtime dependencies alongside it.

  16. The test resources 0.1.0 ran on every client that joined, with popups that paused the game, a camera and marker tour and fly-camera key binds, are gone. The default gamemode is the only resource a server starts with.

  17. This build is handed out in the Discord rather than from a download page here. Join it to get the current one.

Previous release

0.1.0

Available in DiscordA settlement built from scrap in Fallout 4Get the build

The first shared Commonwealth: players, combat, power armour, settlement building, inventories, world objects and scripting on both the server and the client.

Release notes19 updates
  1. Players share one session and one world. The server owns the hour of the day, the time scale and the weather, and every client follows them. Players standing in different worldspaces or interiors do not stream each other in.

  2. Other players move, aim, sneak, sprint, jump and draw weapons as their owners do, with the weapon in their hands and its mods and ammo replicated.

  3. Shooting works through the shooter’s own game, which is the only one that saw the target where it aimed. The server stamps who fired from the connection itself, passes the hit to the victim’s game to apply, and records who gets the kill. A player who dies stays down until a script revives them.

  4. Grenades, missiles and mines are replicated as the launch the thrower’s game built, and every other client fires the same one from its stand-in. Only the thrower’s game decides where a projectile goes off; the explosion, the hazard it leaves and the hits it causes are relayed from there, so one blast can only hurt a player once. Mines are server entities: the server streams them armed, decides when one goes off, and hands a script the means to set one off or lift it unexploded. Reloads replay on the stand-in through the animation the owner’s game accepted.

  5. Power armour replicates. A player getting into a frame and out of it runs through the game’s own entry and exit on every client, so the suit closes around the right actor, the pieces on it show, and the frame is left standing where its owner got out. A frame the data files placed is shared by reference; one the game made at runtime is placed again on each client, and cleaned up when it is no longer needed.

  6. Settlement building is shared. What a player places, moves, scraps or stores in the game’s own workshop mode becomes a server entity linked to the same workbench on every client, recounted once a frame for power and resources. The item a builder is holding before it is placed shows on the others as it moves. Built objects last for the session; nothing is written to disk.

  7. Inventories are the server’s record rather than the client’s. Every change is checked against it, a change that does not add up is refused whole, and the client is rolled back to the truth.

  8. Doors, locks and containers are shared for the session and handed to anyone who joins. A container’s menu belongs to one player at a time, and what one player leaves in it is what the next one finds.

  9. Loose items can be picked up exactly once. An item the data files placed goes to the first player who asks for it; an item a player drops becomes a world object anyone can take.

  10. The server takes over the placed actors of every worldspace and interior in the game’s master files, rolling each leveled list once so every client builds the same NPC, and walks the ones no player is near along the navmesh. A dead one returns to where it was placed.

  11. Positional voice chat, with ranges the server sets globally, per player and per tier, plus muting and deafening. Each audible talker is a source voice in the game’s own audio engine, mixed into its master and placed in the world by the game’s own 3D audio. Push-to-talk is N, a key the game leaves unbound.

  12. Radio stations the server runs. A script creates a station with a name and a frequency on the Pip-Boy’s dial and puts sound descriptors on air; every client carries it as a transmitter of the game’s own radio, heard on the Pip-Boy and through world radios tuned to it. The server stamps when each track started and clients seek to that moment, so every player hears the same one. The game’s own stations can be taken off every player’s radio and put back as the game left them.

  13. For scripters: the server runs TypeScript and JavaScript resources against an API of 30 globals and classes and 25 native events, covering players, entity state, the world clock and weather, world objects, loose items, mines, power armour, chat and voice. A hit, a blast or a world change can be refused before anyone sees it. The full reference is on the scripting page.

  14. Client resources can draw interfaces over the game as Chromium web views: HTML, CSS and JavaScript, positioned from script, with messages passing both ways between the page and its resource.

  15. Client resources can also drive the interface the game already has: HUD notifications, quest banners, subtitles and help text, screen fades and HUD visibility, menus opened and closed by name, the game’s message boxes with up to ten buttons, and the dialogue wheel with a script’s own lines. Whatever the player picks comes back to the script that asked.

  16. The default gamemode ships as a TypeScript resource rather than being built into the server: it respawns the dead, answers the debug chat commands, and carries /pa and /mines. It is the worked example for a gamemode of your own.

  17. Housekeeping for a session that is not the single-player campaign: Out of Time no longer starts, and Codsworth is kept out of Sanctuary for everybody, so nobody joins into a quest objective pointing at him.

  18. For server owners: one dedicated binary, configured by a single server.json, with its own resources folder and an interest grid sized to the Commonwealth. It is announced in the public masterlist only when you give it a server token.

  19. This build is handed out in the Discord rather than from a download page here. Join it to get the current one.

The illuminated entrance to Vault 111

Your next chapter starts here

The vault door
is open

Find the latest builds, meet your future neighbours, and help shape what comes next. We’re building this Commonwealth together.

Join the Discord Bring your Pip-Boy, we’ll bring the company