twist84 / AnvilDedicatedServer

A dll which restores missing host functionality/code to Halo Online build 11.1.604673 cert_ms29

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AnvilDedicatedServer

A WIP modification for Halo Online 11.1.604673 cert_ms29 which restores missing networking functions for server hosting.

Part of the Anvil Station project, which aims to recreate the original Halo Online API and game servers.

We're looking for new developers to help us with the reverse engineering efforts, so if you're competent with IDA, C++ and have some understanding of how the 3rd gen blam engine works, come talk to us!

Notice

This is currently incomplete - clients can join the server, but they will get softlocked on the pre-game camera when the game starts and no simulation updates will be sent to them. The host will be able to see client players in game however.

Simulation issues

The missing network session code responsible for handling players joining has been reimplemented. There is still missing simulation code however, so we can't quite play games yet. Some weapons don't fire and effects don't appear.
I don't know what the full extent of the missing simulation code is yet, however I have found that game_engine_attach_to_simulation as well as various simulation_action_object_create & simulation_action_object_update calls are missing throughout the codebase.

Usage

  1. Build hf2p_dedicated_server.dll
  2. Place it in the same folder as halo_online.exe
  3. Run the launcher to inject the dll
  4. Open the console window that appears

Controls

  • PAGE UP: Creates the host session (Run this only when the loading screen has disappeared otherwise the game will crash)
  • PAGE DOWN: Prints the server's secure address and identifier to the console for clients to use when joining
  • INSERT: Sets player data for players 0 & 1 (Required to launch the session)
  • HOME: Launches the session
  • END: Ends the session

Quick start (Boot into a session on your own)

  • Press PAGE UP once the loading screen has disappeared to create the session
  • Press INSERT to set the required player data
  • Press HOME to launch into the session

Special thanks

About

A dll which restores missing host functionality/code to Halo Online build 11.1.604673 cert_ms29


Languages

Language:C++ 72.8%Language:C 26.9%Language:C# 0.3%