Logo135.png We're building a new wiki, so information on this page may be out of date.

We'd love for you to help us out!

Ghosting mod

From SourceRuns
Jump to: navigation, search
Ghosting mod
Developer(s) Gocnak
Type Single-player
Game Half-Life 2
Download .zip file

Ghosting mod is a mod for Half-Life 2 that reverts it back to a version that predates the SteamPipe update. This mod is helpful for speedrunners of Half-Life 2 with additions like a speedometer and a timer. It also has ghosting capabilities, which is recording and playing back your movements through a level in real-time as "ghosts". This mod also supports online playing, read below for instructions on how to set up a server to play with other people.

Screenshot of the mod:



Before installing, you need to make sure that you have done the following:

  • Downloaded both the ghostingmod.zip and maps.zip provided above.
  • Installed both Half-Life 2 and Source SDK Base 2007 (which you can find by going to Steam > Library > Tools) and made sure they are on the same drive as your Steam installation.
  • Ran Source SDK Base 2007 at least once.

To install the mod,

  • Extract the .zip file above to somewhere neat.
  • Open the "ghostingmod" folder and make sure inside it isn't another folder with the same name. If there is one, move it to [your Steam installation]/steamapps/sourcemods.
    If there aren't any, go back out and move that folder to the directory mentioned above
  • After moving the files to the correct location, restart Steam.

Now you should see "Ghosting" as a game in the games list, go ahead and start it. If you have any bugs, feel free to report them to Gocnak.


Recording and Playback

gh_load                     <run name>          - Loads a run from the given file but does not immediately play it. Use gh_play_all_ghosts to play it/them.

gh_play_all_ghosts                              - Plays all the ghosts that are currently not playing.

gh_restart_runs                                 - Stops the ghosts and resets them back to their first step.

gh_play                     <run name>          - Plays a run that you have recorded.

gh_record                   <run name?>         - Records a ghost under the given <run name> if specified, or a file with gh_name as the base.

gh_autorecord               0/1                 - Toggles the auto ghost file recording at run start. 0 = off, 1 = on

gh_stop                                         - Stops the recording of the current run if you are recording one.

gh_stop_all_ghosts                              - Stops the playback of all of the currently playing ghosts.

gh_listrun                  <run name>          - Lists the details about the given run.

gh_online_ip                <ip>                - Sets the IP for online mode. ex: gh_online_ip

gh_online_port              <port>              - The port of the server to connect to. ex: gh_online_port 5145

gh_online_connect                               - Connects to the online server with the specified IP.

gh_online_disconnect                            - Disconnects from the online server.


gh_draw_trails             0/1                  - Toggles the global drawing of ghosts' trails. 0 = no trails drawn, 1 = draw trails.

gh_trail_length            <int>                - The length in seconds of how long the trail lasts. If 0, no trail is recorded.

gh_name                    <name>               - IMPORTANT! Set this to the name that you want your ghost to appear as.

gh_ghost_color             R G B                - The R G and B values for the color of your ghost. This gets saved with the ghost.

gh_trail_color             R G B                - The R G and B values for the color of the trail. The closer to 0,0,0 the color, the less it will draw.

gh_hud                     0/1                  - Draws a hud element that tells you what map the ghosts are on. 0 = off, 1 = on.

gh_speedmeter              0/1                  - Draws a hud element that tells you your speed in units per second (UPS). 0 = off, 1 = on.

gh_speedmeter_hvel         0/1                  - Toggles the horizontal velocity mode of the speedmeter. 0 = off, 1 = on (shows only horizontal velocity)

gh_timer                   0/1                  - Draws an in-game, load-detecting timer. 0 = off, 1 = on.

gh_timer_start                                  - Starts the in-game timer.

gh_timer_stop                                   - Stops the in-game timer.

gh_timer_mode              0?                   - Useless

gh_hud_mirror              0/1                  - (CHEAT PROTECTED!) Draws a rear-view mirror. 0 = off, 1 = on. Requires sv_cheats to be 1.

Suggestion and Usability

  • Set gh_name to your runner name before attempting to record, otherwise it will show up as "Ghost"!
  • Set your gh_ghost and gh_trail colors before your run!
  • You do not need to worry about playing the ghosts back or starting to record at the perfect frame; the mod automatically starts recording (if gh_autorecord is set to 1), playing back ghosts, and starts the timer at the first frame of the train starting!
    It also handles the stopping of recording, as well as the stopping of the timer when the slomo-boom on Breen happens!
  • When you're ready to run, make sure the .run file (if you want to have any ghosts) is in the base "ghostingmod/runs/" folder, and use "gh_load <run name>" to load the run.
  • When you mess up a run or need to end the recording prematurely, use "gh_stop" to stop recording.
  • You can make resetting easier by making it a single button like so:
    bind - "gh_stop;gh_restart_runs;gh_timer_stop"
    Which makes the "-" key restart your ghosts, stop the timer, and stop recording, all in one single push!


To set up a server and play with your friends:

  • Download Ghosting mod
  • Install Java 8.
  • Get and compile the server at Link with the said Java 8.
  • Maybe run that server on a different machine from the one you're running the game on.
  • Make sure you forward / open the port 5145 (or whatever you set it to in the server).
  • In the game, set up gh_online_ip and gh_online_port and then do gh_online_connect.
Personal tools