Skip to content

Upstream branches

rebaserHEAD edited this page Oct 14, 2026 · 1 revision

explanation, committed verified 2026-10-14 game_rework f9bb26ef expedition 3588ca5f loot-rework 0b8aa1da

Which of upstream's branches holds which kind of work, why gameplay isn't on the default branch, and where a change should go. Read it before you go looking for a system, because the one you want may live on another branch. What we build because of it is on the Roadmap.

The branches

Where the work is

flowchart TD
    GR["game_rework<br/>infrastructure and wire"] --> EX["expedition<br/>combat, AI, content"]
    GR --> LR["loot-rework<br/>loot"]
    GR --> FK["this fork<br/>open ground"]
Loading
Branch Holds Last commit Against game_rework
game_rework The default branch and the pull request target: client message models, networking, the split into broker services, Aspire 2026-09-28
expedition-evil-from-the-ether Spells, combat, crowd control, AI, forced movement, public events, instance and tutorial scripting 2026-10-07 75 ahead, 34 behind
loot-rework Loot generation, group loot rules, loot messages 2026-10-07 7 ahead, 0 behind

Frozen

Branch State
develop Last commit 2022-12-03, and fully contained in game_rework
master Last commit 2023-06-05; the old release line
communities, spells-v2-gr and a sibling of it Dead or absorbed

Why it's split this way

game_rework is the foundation. The maintainer is reworking the server's infrastructure there: the message models, the network layer, the move to broker services and the Aspire host. Gameplay on it is thin on purpose.

The expedition branch is where gameplay is being rebuilt. The maintainer describes it as proof-of-concept combat work that will eventually be merged back into game_rework (#567). Its spell code replaces game_rework's nearly wholesale.

It's ahead on behaviour and behind on the wire. It forked before much of game_rework's message work landed: counted on 2026-10-13, it modelled 796 opcodes against game_rework's 927, and it has no friendship handlers and no story folder. Code written against either branch has to expect the merge.

loot-rework sits right on game_rework's tip, so it can land as a fast-forward any day.

Where a change should go

Change Branch
Message models, networking, infrastructure, anything on open ground game_rework
Combat, AI, instances and their content expedition-evil-from-the-ether
Loot Leave it to loot-rework
Anything on upstream's own rework list Raise it upstream first; outside fixes there tend to be redone

Upstream decides on its Discord, not in pull request threads, so a design question belongs there first.

The other repositories

Repository What it is
NexusForever.Wiki The source of emulator.ws, upstream's documentation, published with GitBook. AGPL-3.0
NexusForever.WorldDatabase SQL dumps for the optional world database
NexusForever.SpellWorks A spell information viewer
Nexus.Archive The library for the client's index and archive files, used from NuGet
NexusForever.Tools Standalone tools, kept out of the main repository
NexusForever.Launcher A client launcher
NexusForever.PacketParser A packet parser, last touched in 2018

The main repository's own GitHub wiki stopped being updated in 2024; emulator.ws is where upstream's documentation lives now.

Related pages

Page Covers
Roadmap What we build because of this split, and what we stay out of
Taking a change upstream Opening a pull request against the right branch
Syncing with upstream Bringing game_rework into the fork

Clone this wiki locally