The core

One engine,
every game.

The core is the shared engine behind every JustAddMP mod. It does all the work that is the same in every game: it starts the game with co-op built in, connects players through Steam or by IP, runs Steam lobbies and invites, keeps the host in charge of the session, draws the co-op menus and the status overlay in the game, writes crash reports, and lets you start the game straight from Steam if you prefer.

So each game only has to add its own part: how its players, cars, missions and menus are synced. A fix or a new feature in the core reaches every game, and each game picks the core version it was tested with, so an update never breaks a game by surprise.

What it does

The parts every game needs

  • Game launcher

    Finds the game in your Steam library, checks it's a version the mod supports and starts it with co-op built in.

  • Start from Steam

    If you prefer, install it once and co-op starts every time you press Play in Steam. Uninstall puts the game back as it was.

  • Steam or IP

    Players connect through Steam, no ports to open, or straight by IP address. No separate server: one player hosts.

  • Lobbies and invites

    Host a game, invite friends through Steam, and they join from the invite or their friends list. Friends can also drop in mid-session.

  • Host-run sessions

    The host runs the session and passes everything on, so everyone sees the same game. Players on a different version are turned away with a clear message.

  • Pre-game lobby

    Everyone readies up, the host picks what to play and starts it for all at once. Late joiners can follow a game already running.

  • Password, kick and ban

    Lock a session with a password, and kick or ban a player from the co-op menu. Bans cover both the IP address and the Steam account.

  • Co-op menus in the game

    Co-op entries in the game's own menus, co-op panels, join and leave banners and a settings page, usable with keyboard, mouse or gamepad.

  • Status overlay

    A small overlay drawn over the game that shows the co-op status, with live traffic numbers when you turn on the debug view.

  • Instant leave notice

    When a player quits, the others are told straight away; a crashed or killed game is noticed within about 4.5 seconds.

  • Only what matters is sent

    Nearby things are updated more often than far-away ones, and each player gets a fair share of the connection.

  • Natural movement of other players

    Other players' characters walk, run and sprint with the game's own animations at their real speed, and their cars steer and brake like the driver's, instead of being dragged into place.

  • Crash reports

    If the game crashes, a crash report is saved so the problem can be found and fixed.

  • Join a friend

    A Join Friend list in the co-op menu shows your Steam friends who play the game and what they're doing: hosting, in a friend's game, full or on another version. Pick one to join; the version is checked before you connect.

  • Automatic reconnect

    When a player's connection drops, his game keeps running and rejoins the host on its own for up to a minute, and he gets his place back. The others see that he is reconnecting.

  • Low latency

    Updates leave in the same frame they're made, lost ones are resent after about one round trip, separate kinds of updates don't hold each other up, and the bulky ones give way when the connection is full. Other players are shown with a delay that adapts to the connection.

  • Sync recording

    Every co-op session keeps a detailed record of what each game sent, received and did, so after a test the two games can be lined up and compared to find exactly where they drifted apart.

Works with

  • 64-bit Windows games
  • Games that draw with DirectX 11
  • With or without Steam (without it, friends join by IP)

Progress

Where the core is at

Progress

30 of 44 tasks done

68%

  • LauncherDone
  • Networking8/12
  • Sessions6/7
  • In-game menus & overlay8/11
  • Crash reports & logs4/5
  • More games0/5

Last commit

Launcher

Done
  • Done: Game Launcher
  • Done: Game Version Check
  • Done: Launch from Steam
  • Done: Launcher Input Checks

Networking

8/12
  • Done: Networking
  • Done: Steam Lobbies & Invites
  • Done: Host-Run Sessions
  • Done: Safer Steam Joins
  • Done: Nearby-First Updates
  • Done: Traffic Statistics
  • Done: Higher Bandwidth Limits
  • Done: Faster Dropped-Game Detection
  • To do: Natural Remote MovementTested on two PCs; rebuilt in v0.12.0 with one smoothing and correction layer for players, cars and NPCs, waiting for a two-PC test
  • To do: One Owner per Car and CharacterIn v0.12.0: the nearest player owns the traffic and people around them, with smooth hand-overs, waiting for a two-PC test
  • To do: Automatic ReconnectTested on one PC: back in the same slot within a second; Steam test to do
  • To do: Lower LatencyIn v0.11.0: lanes, send priorities, a shared session clock and an adaptive delay; 26-34 ms in the first two-PC test, more play to do

Sessions

6/7
  • Done: Session Password
  • Done: Kick Players
  • Done: Kick & Ban
  • Done: Spam Protection
  • Done: Pre-game Lobby
  • Done: Instant Disconnect Notice
  • To do: Join Friend PanelPanel tested on one PC; joining a friend needs two PCs

In-game menus & overlay

8/11
  • Done: Status Overlay
  • Done: Overlay Resize Safety
  • Done: Co-op Panels & Banners
  • Done: Entries in the Game's Own Menus
  • Done: Game Options in the Co-op Menu
  • Done: Co-op Settings Page
  • To do: Update NoticesIn v0.13.0: the main menu tells you when a newer version is out, checked against justaddmp.com; waiting for an in-game check
  • Done: Saved Settings
  • Done: Drawing for Name Tags
  • To do: Real Gamepads in the Co-op MenusIn v0.11.0, waiting for a test with a real controller
  • To do: Gamepad Button PromptsTested in the lobby and friends panel; text boxes still to check. The keyboard no longer stays blocked after a pad button closes a panel (fixed in v0.11.0, waiting for a test)

Crash reports & logs

4/5
  • Done: Crash Reports
  • Done: Reliable Crash Dumps
  • Done: Sync Recording
  • Done: Last Five Logs Kept
  • To do: Session Log ZipsIn v0.14.0: every session writes one zip with its logs, settings and timing records to send after you play; worked on one PC, waiting for a two-PC test

More games

0/5
  • To do: DirectX 8 GamesPlanned: Morrowind
  • To do: DirectX 9 GamesPlanned: Fallout 3, New Vegas
  • To do: DirectX 12 GamesPlanned: Oblivion Remastered, The Old Country, Cyberpunk 2077, Spider-Man, Horizon, Hitman
  • To do: Vulkan GamesPlanned
  • To do: 32-bit GamesPlanned: Fallout 3, New Vegas, Morrowind

Releases

Version history

  1. v0.10.0LatestA detailed record of every co-op session for comparing two games, the last five logs kept, and fixes from the first two-PC test: other players' cars get their speed back so they can roll, and sprinting characters keep up.
  2. v0.9.0Groundwork for natural movement: other players' characters walk at their real speed instead of sliding, and their cars use the driver's steering. A name given for a test run is no longer saved as your name.
  3. v0.8.0A crashed or killed game is noticed in about 4.5 seconds instead of 10, without dropping a player whose game is just busy loading.
  4. v0.7.0Behind-the-scenes testing help for the co-op menus. Nothing changes for players.
  5. v0.6.0Live traffic numbers on the debug overlay, and much higher bandwidth limits so busy scenes are never cut short.
  6. v0.5.0The pre-game lobby, a co-op settings page, drawing for name tags, and an instant notice when a player leaves.
  7. v0.4.0Game options such as character and outfit in the co-op menu, settings that are saved, and a fix for menus that jumped back to the middle row.
  8. v0.3.0Kick and ban players from the co-op menu.
  9. v0.2.0Stability: safer Steam joins, more reliable crash reports, protection against spam, and clearer launcher errors.
  10. v0.1.0First release, split out of the Mafia: Definitive Edition mod: launcher, networking, Steam lobbies and invites, overlay and crash reports.
All releases on GitHub→

Git history

Latest commits

Full history on GitHub→

Play it

See the core at work

The core does nothing on its own: grab a game's mod and play it with a friend.