New features
Play as characters from character mods
A mod can now add playable characters with a customization.json file: each character brings its own body, armor, colors and physics, and plays with every weapon, vehicle and animation of the map it is in.
- Customize → Looks lists your characters in priority order: drag to reorder, switch a mod off to stop seeing it, and open a mod's page to pick its character, armor and colors.
- Settings → Mods → Character Mods lists every installed character mod, with Folder and Delete.
- Hosts: Host Settings → Customization picks which character mods the server's games include. Players must accept them makes them required to join, and No vanilla characters puts every player in the selected mods' characters. Dedicated servers use
customization,require_customizationandno_vanilla_charactersindedicated.toml(orRECLAIMER_DEDICATED_CUSTOMIZATION,..._REQUIRE_CUSTOMIZATIONand..._NO_VANILLA_CHARACTERSin Docker). - Joining: the join window lists the server's character mods as USE, NOT USE or REQUIRED, and can remember your choice for that server. Players using characters you turn down appear to you as Spartans and Elites; the server still decides every hit on their real character.
- Campaign: solo and co-op missions can be played as Your characters; co-op players all use the host's.
- Game options: each player trait set gains Character set, Character and Camera, and Team Characters gives each team a character set. Random draws once per life.
The server shares its character packs with players who don't have the mod, like any other mod it shares. A dedicated server makes them only with all 27 of Halo 3's multiplayer maps in its game folder; dedicated check says when some are missing.
Halo 3: ODST physics options for mod characters
Character mods can use two of Halo 3: ODST's body options: a model region that breaks off when the character goes ragdoll, and physics bodies (such as a tail or a cape) that move with the character while it is alive. Servers work them out the same way as their players.
Change dedicated servers' settings and playlists without restarting them
Dedicated servers now take up edits to dedicated.toml, the playlists and variants it names, and the maps and game types in the content folder while they run. Save the file and a couple of seconds later the servers check it the same way dedicated check does. If anything fails, they keep what they have and the console says what is wrong. Players stay connected, and the game under way finishes under its own rules:
- Most settings change at once, such as
max_players,password,welcome,admins, voice and text chat. friendly_fireandteam_changingchange from the next game.- A changed playlist is voted on from the next vote. A ballot already open, and the game it picks, still come from the old one.
- A server added to the file starts, and one taken out stops once it has no players.
- Settings tied to a server's process, such as its port, its RCON settings,
hiddenandchat_log, restart that server once it has no players.
To apply edits yourself instead, set auto_reload = false and run project-reclaimer dedicated reload, or reload on a server's remote console. Both answer with what changed. Remote console tools also get a control event for every reload, and another when a playlist or game setting takes over.
A server that restarts after a crash now starts with the configuration as last reloaded, instead of the one dedicated started with.
Choose what the content filter masks
The content filter in Settings → Communication now has separate categories you can turn on or off: Slurs filter and Profanity filter. To mask words of your own, turn on Custom filter and list them under Custom words, one per line. Only whole words match, and capitals, leetspeak and lookalike letters count as the same word. Choose Apply changes to use your choices.
Controller button layouts from MCC, and custom layouts
Settings → Controller → Button layout offers every controller layout MCC has for Halo 3: Default, Boxer, Green Thumb, Bumper Jumper, Universal Default (Recon), Universal Reclaimer, Universal Zoom & Shoot, Universal Bump & Jump, Universal Green Fingers and Infinite, with the same buttons as in MCC. The panel describes each one and lights the buttons it changes.
- Custom layouts: change any button while one of MCC's layouts is in use and it becomes a layout of your own (Custom 1, Custom 2…), saved and listed before MCC's in Button layout, so you can switch to another layout and pick yours again later. Rename it under Layout name, copy it with DUPLICATE or remove it with DELETE. Restore defaults keeps them. Buttons you changed in earlier versions become Custom 1.
- Next grenade and Previous grenade are new controller and keyboard actions: the universal layouts and Infinite choose grenades with the D-pad. In those layouts Ability 1 moves to D-pad down, and Abilities 2 and 3 wait for a button you pick.
- Where a layout crouches with B, Sprint goes with it: click while running forward to sprint. In a vehicle the button is always the vehicle's, so B still drops Banshee bombs.
- Forge's monitor controls are the same in every layout.
Game mode abilities: keys, equipment and turrets for scripted modes
Game modes can now give classes abilities that players use with keys of their own, such as active camouflage, deployable cover or a machine gun emplacement.
- Players: Settings → Keyboard & Mouse and Settings → Controller have a new GAME MODE ABILITIES section with Ability 1 to Ability 4 (X, 2, 3 and H on the keyboard; D-pad right, left and down on a controller). They do nothing in modes that don't use them.
- Mode makers: Megalo scripts hear presses with
on button press(pressed_button,button.ability_1…) and held keys withis_button_held, along with Halo 3's own jump, crouch, melee, grenade, equipment and flashlight buttons. place_at_mecreates Halo 3's equipment ready to work (Bubble Shield, Deployable Cover, Radar Jammer, Power Drainer, Regenerator, Trip Mine, Grav Lift, Flare), equipment pickups, mounted machine guns and plasma cannons, and the map's vehicles, by name.- New calls:
give_equipment(including the campaign's active camouflage),refill_ammo,is_of_typeandset_primary_respawn_object, to spawn players at the command point they chose. - The guide at https://projectreclaimer.dev/megalo#abilities documents all of it, with the example mode Class Abilities (an Infiltrator, an Engineer and a Medic).
Third-person characters, zoom and field of view
Characters made for third person play with a third-person camera on foot, and weapons zoom in third person too (the campaign keeps Halo 3's first-person zoom). Settings → Game options → Camera gains Third-person field of view. Shots leave from where the camera is, on every player's game alike, and never from behind a wall you stand against.
Changes
-
Long server lists scroll smoothly. The server browser now draws only the rows on screen, so a list with hundreds of servers scrolls without slowing the menu.
-
Chat names are drawn in the player's color again. Names in chat are now written in the player's color, their team's in a team game or their armor's otherwise, with the same shadow as the rest of the line, instead of white on a block of that color. Dark armor colors are lightened just enough to stay readable. To keep the colored blocks, choose Settings → Communication → Chat names → Color block and Apply changes.
-
Game downloads are clearly labelled as the client. Download
project-reclaimer-client-v0.9.18.exeto play. It now appears beforeproject-reclaimer-dedicated-v0.9.18.exewhen downloads are sorted alphabetically; the dedicated executable is for hosting servers.When updating from an older version that cannot install the renamed download from the menu, open the release page and download the client executable.
-
Random starting names for new players. New players start with a randomly chosen name, such as Mustard, Caboose or Noodle, instead of Player. The name is saved with the profile and can be changed in Customize.
-
Everyone in a game needs 0.9.18. Servers admit only players on exactly their own version, so players and servers on 0.9.18 can't play with those on 0.9.17 or older. The server browser's Version column shows a server on another version in red. Update dedicated servers and players together.
Bug fixes
-
Co-op players get credit for missions the host finishes first. In campaign co-op, a player whose game was a little behind the host's when a mission was won (a slower PC, or still catching up after the mission's last cutscene) went on to the next mission without the one just won counting as finished for them, and without its mission complete screen. The host now tells every player which mission was won, so it counts for everyone who played it.
-
Folder buttons open the right folder. Open and Change next to the game's folders opened the wrong place when a saved path mixed
/and\. They open the folder now, and such paths are repaired. -
Inherited animations move the right bones. Animations a character plays from another character's animation set (a mod character playing the Master Chief's melee, for example) moved bones of the wrong skeleton where the animation moves bones in world space. They now move the bones they were made for, on servers as on players' games.
-
Show your own kills in the kill feed in large team games. In team games with more than 16 players, the server sent kill-feed messages and team announcements to only 16 of them. Everyone else missed their own kills and deaths, their teammates' kills and calls like "Your team took the lead!", and saw only their medals. Every player now gets them.
-
Slow players no longer hold up a lobby's map change. When the host changed the map in a lobby, a player whose game was still getting the new map ready could delay the game, or end it, for everyone. The host now shares the change at once, so everyone gets ready at the same time. A player who still isn't ready rejoins once their map is, with the lobby still on screen and their place kept for them. A server that is busy getting its mods ready tells joining players so, and their game asks again by itself.
-
Menus and chat no longer blink. The main menu, chat and other screens could blink off or briefly show an older screen, most often right after the game started. The game shows frames from two threads, and the screens were only drawn into a frame when that thread had received them itself. Every frame now shows the current screens.
-
Crash returning to the lobby after big UNSC vs Covenant and Forge games. So that characters don't say the same line twice in a row, the game remembers which version of each line it played last. It only has room for that on so many sounds. A map that takes characters or objects from other maps, such as UNSC vs Covenant's classes or the full Forge palette, gave every sound it brought in a place there, even sounds that never use it, and ran out of room. The records spilled into the memory for sounds that follow vehicles and other objects around. That could crash the game on the way back to the lobby after the match.
Sounds from other maps now take a place only if they use one, as in Halo 3's own maps. Every character's lines brought in this way keep varying as they should, with room to spare.
-
Settings from another version no longer stop the game from starting. A settings file with a setting this version doesn't know, or a value it doesn't accept, kept the game from starting. Now the rest of the settings load, and saving keeps the other version's values for it. A damaged settings or character preferences file is kept as a copy beside it (
settings.json.damaged-…) before the game starts over with defaults, and a file the game can't read at that moment is never written over.
Install
The game client requires Halo: The Master Chief Collection with Halo 3 installed; no game files are included.
Double-click project-reclaimer-client-v0.9.18.exe to start the game. It finds Halo 3 in any Steam library and opens without a console window; its log is Documents\My Games\Project Reclaimer\Logs\client.log.
For remote server administration, double-click reclaimer-rcon-v0.9.18.exe, enter the host, RCON port and password, and connect. The RCON client needs no game installation. See the attached RCON.md for setup and commands.