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 into a rule break by you, or someone near you. Keep in mind that in accordance with Rule 1.6 you are REQUIRED to upload the requested file or you might face a punishment. A demo file is nothing more than a simple file that you have to upload so that the Staff Member can download it and open it locally, in order to do so, follow these steps:

  1. Locate your garry's mod installation folder (usually it would be under C:\ProgramFiles (x86)\Steam\steamapps\common\GarrysMod but it may vary)
  2. Go into garrysmod\data\phdemos
  3. Locate the file requested by the Staff Member (perpheads_demo_XXXXXXXXXX.dem)
  4. Upload the file to the web, you may use whatever service you desire as long as its a well-known one (Ex: Mega, Google Drive, AnonFiles, ...)
  5. Recover the share link and send it to the Staff Member

And you're all set! The Staff Member has everything he needs and will most likely contact you after reviewing your footage. If you are interested in what demos are or how to use them yourself, everything will be detailed in the next chapters.

What are demos?

Whenever you play on the server, demos are automatically recorded. A demo essentially constantly records what you’re doing and then saves it locally. This can be useful if you ever need to go back and review a situation. If you make a report or action request, you will most likely need to provide evidence so it’s very useful to have demos enabled. It can protect you if someone lies as you have proof.

Demos must remain enabled at all times and Rule 1.4 states that you must keep any demo for atleast 21 days. Demos can start to take up quite a large amount of space on your PC but once 21 days have passed since the demo was recorded, you’re free to delete it. 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 different location within your Garry's Mod folder in order to prevent your Steam Cloud for Garry's Mod being unnecessarily filled up with demos, which would've prevented important files such as config files from being backed up to Steam. You can locate your demos by right-clicking on Garry's Mod on Steam, selecting properties and then selecting Browse Local Files


From there navigate to "phdemos" by following the path: garrysmod/data/phdemos From there, you can copy any demo that you need to review into your demo folder, which will then show up when you press the demo button on the Garry's Mod main menu.

How to load up a demo

Prior to loading up a demo, it’s recommended that you connect to the main server ( first, so that you can load up the server content to reduce errors/missing textures once you load into a demo. Once you have done this, you will have to copy/paste the required demofile from garrysmod/data/phdemos to garrysmod/demos. You can then head back to the ‘Demos’ section of the menu and hover over the demo of your choice and press the ‘play’ button. It will take a minute or so to load the demo once you’ve pressed it.


It can be tricky to know which demo to load into. The title of each demo makes it easier for you to know what the demo might have in it. Each demo file is formatted with the server name, date and the time the demo started recording. Once you’ve started playing on the server a lot, you’re likely to have multiple demo files for each day. This is because a demo recording records for a certain amount of time and then a new one begins.

If you are unsure which demo file concerns a given situation, contact a Staff Member as he will be able to provide you with the exact filename.

How to stop a demo recording

You may need to manually end a demo recording when you’re on the server. This may be because you’ve just been killed for no reason and you want to now make an action request on that person. This way, if you end the recording you will know exactly where to go in the demo (the very end) as it ended just after the incident. To manually end a demo recording, you just got to open the player grid (by holding TAB) and pressing the button on the top right corner "Force Restart Demo"

Force Restart Demo

Following this, the demo will end and a new one will automatically begin to record. You may need to restart your game to see the latest demo recordings on the demos screen.

Making demos provide more information

By default, once you’ve loaded up a demo you don’t get much information as names don’t always load and it can be hard to identify someone in a demo. However, TinySlayer has developed a LUA script that enables you to use ESP in demos to make it much easier to identify people. To install the ESP, you need to follow these instructions ( :

  1. Right click on this link and save it locally:
  2. Move the ESP.lua file to your garrysmod/lua folder
  3. Join the perpheads server before playing the demo, to make sure the models are loaded
  4. Play the demo
  5. Type this command into console: sv_allowcslua 1 ; lua_openscript_cl ESP.lua

Inside Demo

From the image, you can see that enabling ESP in your demo provides a lot more information such as the player’s steam name, steamID and what they’re currently holding. The person to the left before ESP was loaded has no information at all.

Controlling the demo

Once you’ve loaded up your demo and followed the instructions for loading up ESP, you can now start to play the demo. It’s incredibly useful to make the demo playback box appear. You can do this by pressing (SHIFT + F2) or if that doesn’t work, open up the console again and type in ‘demoui’ or ‘demoui2’. They’re very similar but in this case, I will be using demoui.


  • This box allows you to fully control the playback of the demo. I’ll explain from top to bottom what everything does:
  • The ‘Load...’ button opens up a file explorer where you’re able to load another demo if you wish
  • The ‘Stop’ button terminates the demo playback and you will be returned to the main menu
  • The bar next to the percentage controls the playback speed. You can slow it down to 0% (paused) or up to 600% of the original speed
  • The arrows underneath the progress bar allow you to go by each individual tick (a tick is a frame e.g. you would get 60 ticks a second if you capped your game to 60 FPS)
  • The ‘Goto’ button allows you to enter a specific tick into the empty whitebox on the right. Once you have entered one of the ticks that is less than the total number of ticks and press ‘Goto’, your game will freeze for a moment and then will resume at the tick you specified (DO NOT interact with the window while its loading, it will most likely crash your game)
  • The ‘Drive…’ button allows you to freely control the camera positioning so you’re not forced just in first person. You are required to hold the left mouse button down constantly and then you can use WASD to move around and the mouse to rotate
  • The ‘Edit…’ button provides a variety of features to edit the demo file. You generally won’t need to use these
  • The ‘Smooth…’ button is also not used that much. It just provides more tools for modifying the demo file

Recording a demo file

Once you have got to that part of the demo that you want to record, make use of software tools to record your screen such as ShadowPlay (Nvidia GPUs), Radeon Software (AMD GPUs), OBS or Medal. Just start recording and press the ‘Resume’ button if that playback has been paused. Once you’re done, just end the recording. Make sure to take note of the tick when the incident occurred as you may need it later. If you’re unable to record your screen, send the file to a staff member and they will be able to access and record it for you.