Demos - How to guide

A Staff Member asked for my demo file, what do I need to do?

Staff Members may ask you to upload a demo file in order to investigate a rule break by you, or someone near you.

> Warning: Keep in mind that in accordance with Rule 1.6, you are REQUIRED to upload the requested file. Failure to do so may result in punishment.

A demo file is simply a recording file that the Staff Member can download and open locally. To provide this, follow these steps:

  1. Locate your Garry's Mod installation folder (Usually: C:\ProgramFiles (x86)\Steam\steamapps\common\GarrysMod, though this may vary).
  2. Go into the folder: garrysmod\data\phdemos.
  3. Locate the file requested by the Staff Member (Format: perpheads_demo_XXXXXXXXXX.dem).
  4. Upload the file to the web. You may use any reputable service (e.g., Mega, Google Drive, Dropbox).
  5. Copy the share link and send it to the Staff Member.

And you're all set! The Staff Member has everything they need and will likely contact you after reviewing your footage.


What are demos?

Whenever you play on the server, demos are automatically recorded. A demo essentially records everything happening around you and saves it locally. This is vital if you need to review a situation or create a report/action request, as it serves as definitive proof to protect yourself against false claims.

> Retention Rule: Demos must remain enabled at all times. Rule 1.6 states that you must keep any demo for at least 21 days.

Demos can take up storage space. However, once 21 days have passed, you are free to delete them. The option to automatically delete demo files older than 21 days can be toggled in the F1 Menu under "Automatically delete old demos?".

Options Menu


How to locate your demo files

PERPHeads saves demos to a specific location to prevent your Steam Cloud from filling up with large recordings.

To find them: 1. Right-click on Garry's Mod in your Steam Library. 2. Select Properties -> Local Files -> Browse.

localfiles-browse

From there, navigate to: garrysmod/data/phdemos.

This folder contains your raw recordings. If you want to watch one, you must copy the file from this folder into your main garrysmod/demos folder.


How to load up a demo

Important: Prior to loading a demo, it is highly recommended that you connect to the main server (perpheads.win) first. This ensures all server content/textures are loaded, preventing errors and missing models in the demo.

  1. Copy the desired .dem file from garrysmod/data/phdemos.
  2. Paste it into garrysmod/demos.
  3. In the Garry's Mod Main Menu, go to the 'Demos' section.
  4. Hover over the demo of your choice and press 'Play'.

demos

Which file is which? The title of each demo helps you identify it. Each file is formatted with the server name, date, and start time. Since demos record for a set duration before starting a new file, you will likely have multiple files per day.

If you are unsure which specific file covers a certain incident, contact a Staff Member. They can provide you with the exact filename based on the server logs.


How to stop a demo recording

You may need to manually end a recording while playing (e.g., immediately after an incident where you died, so you know the footage is at the very end of that file).

To manually end a recording: 1. Hold TAB to open the scoreboard. 2. Click the button in the top right corner: "Force Restart Demo".

Force Restart Demo

The current demo will save and stop, and a new one will automatically begin. Note: You may need to restart your game to see this new file in the menu.


Making demos provide more information (ESP)

By default, demos do not show player names, making identification difficult. However, a LUA script is available that enables "ESP" in demos, showing names and SteamIDs.

Installation Instructions:

  1. Download the script via this link: Download ESP Script.
  2. Rename the downloaded file to ESP.lua.
  3. Move the ESP.lua file into your garrysmod/lua folder.
  4. Important: Join the PERPHeads server before playing the demo to ensure models load correctly.
  5. Start playing your demo.
  6. Open your console (~) and type: sv_allowcslua 1 ; lua_openscript_cl ESP.lua

Inside Demo

As seen in the image above, enabling ESP provides vital info like Steam Names, SteamIDs, and currently held weapons.


Controlling the demo

Once your demo is playing, you can open the playback control interface by pressing SHIFT + F2. If that does not work, open the console and type demoui.

DemoUI

Control Panel Guide:

Button / Feature Function
Load... Opens a file explorer to load a different demo.
Stop Terminates playback and returns you to the main menu.
Time Scale The bar next to the percentage controls speed (0% to 600%).
< > The arrows under the bar allow you to move frame-by-frame (Tick by Tick).
Goto Enter a specific "Tick" number in the white box and press Goto to jump to that moment. Do not interact with the window while it is loading or the game may crash.
Drive... Allows free-cam movement. Hold Left Click + WASD to fly around.
Edit / Smooth Advanced tools for modifying demo files (rarely used).

Recording a demo file

To turn a demo into a video file (for YouTube/Streamable), use screen recording software.

  1. Use the Goto button to jump to the tick where the incident starts.
  2. Start your recording software (e.g., ShadowPlay, Radeon Software, OBS, or Medal).
  3. Press Resume on the demo playback.
  4. Stop recording when the incident is over.

If you are unable to record your screen due to hardware limitations, send the .dem file to a staff member, and they can record it for you.