This loading screen can be a bit tought to get set-up but hopefully this page will help you. The instructions are split up into various sections
so as to make it easy for to find out what you want to do.
The loading screen is coded using a server side language known as PHP. This means that the file has to be running off a web server for it to work.
To configure your loading screen we will primarily just be editing config.php
To make changes to the loading screen open up config.php using your favourite code editor (I personally use Brackets, it's free and will highlight the code nicely so that you can read it better).
We can then start to make changes based on what's written in this documentation.
1. GET A STEAM API KEY
We need to acquire a Steam API Key to be able to pull the connecting clients username and avatar.
To get a Steam API Key visit: http://steamcommunity.com/dev/apikey
Just sign in with your steam account and generate an API Key.
2. ADD STEAM API KEY TO CODE
We now need to add the key to config.php, open it in a code editor and find the line below.
$SteamAPIKey = "B5AA72E1E9337229635A60A8271F5562";
Replace the words INSERT YOUR STEAM API KEY HERE, with your newly generated key. You also need to make sure that the key is inside of the quotation marks
otherwise the script won't work. Below is an example of what it should look like with a key.
please note that the key in the example below is invalid
$SteamAPIKey = "0000000000";
3. UPLOAD OVERLOAD FOLDER TO YOUR WEB HOST
This loading screen uses PHP to dynamically insert a steam avatar and name. To do this it has been coded in a server side language which only works
properly when it is accessed from a web server.
All you need to do is simply upload the contents of the folder called 'Overload' onto your web host. The easiest way to do this is to use FTP to transfer
the files onto your web hosting account. (please note that web hosting is different from your game server host)
If you don't have a web host then I recommend Hostinger as they are a free web host, and offer all the
php features required for the loading screen to work. Once you have done this, you can then move onto the next step.
000WebHost is also another good free webhost but contains advert banners.
(Please note that if you use a different host they must support PHP or else the loading screen will not work).
4. TEST LOADING SCREEN
We can now test the loading screen to see if it is able to pull the avatar and name of someone from steam.
To test the loading screen simply type into the address bar the domain for where you uploaded overload onto your web server.
You will be greeted with a page
which has two different links. Select the test link first, if you see CaptainMcMarcus's Steam Avatar and Steam Name show up then the loading screen has been
correctly configured :D
5. CREATE CORRECT SV_LOADINGURL FOR GARRY'S MOD SERVER
If the test went through all ok then we can move onto the next part which is to configure our sv_loadingurl, this is the really important bit,
as you need to do this otherwise it won't work in garry's mod. For this to work you need to add ?steamid=%s to the end of the URL. Below is an example which
shows this.
sv_loadingurl "http://domainnameexample.com/index.php?steamid=%s&map=%m"
DO NOT SET YOUR LOADING URL VIA THE SERVER STARTUP COMMAND LINE, this will result in a black screen appearing, instead you should set your sv_loadingurl via the server startup config file.
Changing the rules is fairly easy, you can add in as many or as little rules as you like.
By default there are 10 rules, all of these are stored in an array inside of config.php
1. FIND THE RULES ARRAY
The rules are all in one big list in config.php, below shows the code which makes up the rules list.
$RulesList[] = "RDM ist verboten.";
$RulesList[] = "Sei nicht nervig, oder nerve die Spieler auf unserem Server.";
$RulesList[] = "Propblock ist verboten und wird streng bestraft.";
$RulesList[] = "VDM ist verboten.";
$RulesList[] = "Metagaming ist verboten.";
$RulesList[] = "Hacken/Exploiten ist verboten.";
$RulesList[] = "Micspam ist verboten.";
$RulesList[] = "Töte keine Leute die AFK sind.";
$RulesList[] = "Respektiere jeden auf dem Server!.";
$RulesList[] = "Danke, Viel spaß!";
2. CHANGING AND ADDING RULES
To change the rules simply modify the text inside of the quotation marks. If you want to add in some extra rules simply copy and paste one of the previous rules and then ammend the text
inside the quotation marks to be your new rule.
Below is some example code showing some changed rules with a few extra ones thrown in.
$RulesList[] = "Rule 1";
$RulesList[] = "RDM ist verboten.";
$RulesList[] = "Sei nicht nervig, oder nerve die Spieler auf unserem Server.";
$RulesList[] = "VDM ist verboten.";
$RulesList[] = "Metagaming ist verboten.";
$RulesList[] = "Hacken/Exploiten ist verboten";
$RulesList[] = "Micspam ist verboten.";
$RulesList[] = "Töte keine Leute die AFK sind.";
$RulesList[] = "Rule 9";
$RulesList[] = "Respektiere jeden auf dem Server!.";
$RulesList[] = "Danke, Viel spaß!";
$RulesList[] = "Rule 15";
3. REMOVING RULES
To remove a rule just delete an entire line of the array which contains the rule you want to remove.
Below is some example code showing rules 5, 8, 9 & 10 removed. PHP Comments have been added to show where these rules used to be.
$RulesList[] = "RDM ist verboten.";
$RulesList[] = "Sei nicht nervig, oder nerve die Spieler auf unserem Server.";
$RulesList[] = "Propblock ist verboten und wird streng bestraft.";
$RulesList[] = "VDM ist verboten.";
$RulesList[] = "Metagaming ist verboten.";
$RulesList[] = "Hacken/Exploiten ist verboten.";
$RulesList[] = "Micspam ist verboten.";
$RulesList[] = "Töte keine Leute die AFK sind.";
$RulesList[] = "Respektiere jeden auf dem Server!.";
$RulesList[] = "Danke, Viel spaß!";
The logo is simply an image named logo.png which sits in the images folder.
To change the logo simply over-write the image in this folder and it will update the image on the loading screen.
The default dimensions for the logo are 960px x 100px, however any sized image will work.
You can add as many or as little backgrounds as you like. To change the backgrounds simply add the images you want into the backgrounds folder.
Overload will then automatically load up any backgrounds contained within that folder.
To reduce the load time of your loading screen, compress your backgrounds to JPEG's
The default colours for overload can be changed by modifying $MainColour in config.php.
$MainColour will reskin the entire loading screen to a variety of pre-defined colours.
You can use these colours simply by typing in the name of them below are all the colours available and some example code.
Pre-programmed colours include: red, pink, purple, blue, light blue, green, yellow, orange & default.
If you can't decide you can just set the colour to random and it will cycle through all colours
$MainColour = "orange"
Adding music is relatively straightforward however, steam uses and old version of the chromium engine that can only play .OGG files.
Please note that the music script is PHP Based so you will only hear the music playing if it's all uploaded onto your web host, you won't be
able to hear any music if you open the loading screen locally on your PC.
Overload also supports two different methods of audio, however you can only use either .OGG files or embedded youtube videos. You can not use both
of these systems at the same time
Pick what type of audio you want to use with Overload below.
1. Enable Youtube Audio
The first thing we need to do is to edit the config.php file and to tell it that we want to use youtube audio.
To do this we need to locate $YoutubeAudio and set it to true.
$YoutubeAudio = true;
2. Add In A Youtube Video ID
Find a youtube video which you want to use as your background audio and get that videos ID, it's the little bit at the end of the link after v=.
Once you have your ID, open up config.php and scroll down to the $YoutubeTrack example and replace the example data with your ID. Below is an example.
For this example I will be using: https://www.youtube.com/watch?v=_cB3HXVvm0g as the youtube video I want to use for background audio.
The ID for this video is: _cB3HXVvm0g
I am also setting it's key to be YoutubeExample, this will allow me to add information into the now playing box.
$YoutubeTrack["YoutubeExample"] = "_cB3HXVvm0g";
3. Setting Now Playing Music Box
Youtube Audio can be used with the now playing box, to do this simply set the key to something memorable, now when you add in music information use that key instead
of the filename of the audio you were going to use.
In the example above I set the key to be YoutubeExample.
Ensure that you don't have two identical keys, otherwise the now playing music box will not know what song is actually playing.
1. Enable Audio File Player
The first thing we need to do is to edit the config.php file and to tell it that we want to use .ogg audio files.
To do this we need to locate $YoutubeAudio and set it to false.
$YoutubeAudio = false;
2. Convert Audio File to .OGG
The steam browser which loads up our loading screen can only read .OGG files, this means we have to convert our audio file. To do this simply use an online
audio converter such as: http://audio.online-convert.com/convert-to-ogg
Drop the bitrate to 128kbps and don't worry about changing anything else.
By using a lower bitrate, the song will be a smaller filesize and will allow the page to load up faster.
3. CHANGE FILENAME
To prevent any errors with the songs playing we need to strip the filename of any special characters and spaces.
Name the file something simple
so that if you decide to enable the now playing feature, you will be able to easily sort out the artist name and description for each file.
4. ADD TRACKS TO THE SONGS FOLDER
Inside the overload folder is the core structure for the loading screen, there is also a folder in there called songs.
Add your .OGG files into this folder and Overload will automatically handle the rest.
If one song is in the folder then that'll be the only thing played and if you add in 20 then it will randomly select one of the 20 songs you have added.
Please Note: Adding more songs will dramatically increase your bandwidth usage, especially if you are any web host with a monthly
bandwidth limit.
Please also remember that adding copyrighted audio is illegal. If you add copyrighted music you will be held liable.
5. [OPTIONAL] ADJUST VOLUME
You can adjust the volume by changing $SongVolume in config.php. The number indicates the volume as a percentage, 0.3 = 30%, 0.5 = 50% and 1.0 = 100%.
Below is the code to modify in config.php
$SongVolume = 0.3;
It's advised to not increase the volume over 0.3 otherwise it may cause players to disconnect because of the high volume of your audio.
The now playing box will only show if you have entered the artist name and track name for a specific audio file into
config.php. If this information doesn't exist then the box won't show.
1. LOCATE MUSIC INFORMATION CODE
Adding new music information will require both the filename of the music as well as what information you want to display for that specific track.
Start by opening up config.php and look for the code below
$MusicInfo["FullFileName.ogg"] = "Artist - Track Name";
2. EDIT INFORMATION
Change the text inside of [""] to be the filename of the music you are adding information for. In my case this will be audio.ogg
(Remember to add the .ogg extension as part of the filename)
Now change the text in the = "" to be your Artist Name - Song Name
Below is an example showing a modified version of the code which will show the information for audio.ogg
$MusicInfo["audio.ogg"] = "Icky Blossoms - Phantasmagoria";
Please note that filenames are case sensitive
3. ADDING INFORMATION FOR MULTIPLE SONGS
To add information for more songs simply copy and paste the line of code previously and fill in accordingly.
Below is an example which shows music information added for multiple songs.
$MusicInfo["support.ogg"] = "Icky Blossoms - Phantasmagoria";
$MusicInfo["these.ogg"] = "Anamanaguchi - Endless Fantasy";
$MusicInfo["artists.ogg"] = "Dorothy - Missile";
$MusicInfo["buy.ogg"] = "Shirobon - Fox";
$MusicInfo["their.ogg"] = "Wolfgun - Lights";
$MusicInfo["songs.ogg"] = "I Fight Dragons - My Way";
Please remember that using copyrighted music is illegal and you will be held liable for their use.
The bands and song names used in the examples above are just some lesser known bands that I like.
Adding server staff is similar to adding in the music info from the previous section.
All you will need is the steamid's for all your staff members and the titles you want to give them.
1. FIND STAFF SECTION IN CONFIG.PHP
open up config.php and scroll down until you see the comment in the code box below
By default the staff list is commented out, if nothing is set then it doesn't bother showing
the staff list option on the side, if something is set then it will toggle everything on.
// If you want to add a staff list just add in their steam id's here
// Add in as many as you like, the loading screen will insert them all
// EXAMPLE: $Staff["STEAM ID"] = "ADMIN";
2. ADD IN A MEMBER OF STAFF
All we need to do, is copy and paste the example code and then replace it with our own data.
The SteamID will allow us to pull a users avatar and steam name, the comment will allow us to define their role.
Both regular SteamID's and SteamID64 will work with Overload
Below is some example code showing CaptainMcMarcus set as server owner.
// If you want to add a staff list just add in their steam id's here
// Add in as many as you like, the loading screen will insert them all
// EXAMPLE: $Staff["STEAM ID"] = "ADMIN";
$Staff["STEAM_0:1:20082319"] = "Server Owner";
3. ADDING ADDITIONAL STAFF
You can add in as many server staff members as you like, all you need to do is just copy and paste the same code and insert your own data.
The list will be rendered in the order they are written in config.php. You can also set a staff role to say whatever you want.
Below is some code showing several steam members added in as staff.
// If you want to add a staff list just add in their steam id's here
// Add in as many as you like, the loading screen will insert them all
// EXAMPLE: $Staff["ADMIN"] = "STEAM ID";
$Staff["STEAM_0:1:20082319"] = "Server Owner";
$Staff["STEAM_0:1:20082319"] = "Admin";
$Staff["STEAM_0:1:20082319"] = "Moderator";
$Staff["STEAM_0:1:20082319"] = "Supporter";
$Staff["STEAM_0:1:20082319"] = "Helfer";
Keep in mind that if you add in too many members of staff, they might dissapear on smaller sized monitors.
For this loading screen to work we need to be able to pull the users users steam id as well as current map.
Garry's mod can give this to us by adding ?steamid=%s&map=%m to the end
of the url. Below is an example showing you what your sv_loadingurl should look like.
Please note that if you set the loading url via the command line it results in just a black screen being shown, it must bet set within your autoexec.cfg file.
sv_loadingurl "http://domainexample.com/index.php?steamid=%s&map=%m"
If you do not know the full domain and the extension that needs to be added, simply navigate to the root directory of where the loading screen is being hosted.
A welcome page will be generated which contains both a test and final sv_loadingurl.
You can adjust the speed in which backgrounds switch between each other as well as how long a single background is visible for.
You can change these settings by editing $BackgroundSpeed and $BackgroundDelay in config.php
$BackgroundSpeed = "1800";
$BackgroundDelay = "3500";
Please note that the times are displayed in milliseconds
Bored of the old fading effect? Then change the transition :D
Head over to http://jquery.malsup.com/cycle/browser.html and find an effect you like.
Onve you've found an effect you like simply locate the code below in config.php and put the effect name inside of the "".
$BackgroundEffect = "fade";
Please note that effect names are case sensitive.
You can adjust the speed in which the rules fade away as well as the delay for how long a rule is visible for.
You can change these settings by editing $RuleFadeSpeed and $RuleDelay in config.php
$RuleFadeSpeed = "400";
$RuleDelay = "5000";
Please note that the times are displayed in milliseconds
By default the title for the staff box is Server Staff
You can change this setting by editing $StaffTitle in config.php
$StaffTitle = "Main Server Staff";
Please note that the staff boxes are as wide as the largest item stored in them.
Therefore a long title may make the boxes wider than the steam users that fill them.
By default the title for the rule list is rule, this will then be followed by a # and the rule number
You can change this setting by editing $RuleTitle in config.php
$RuleTitle = "Tip";
Please note that changing the rule title will affect every single rule entry.
You can change the content to then be rules, tips, facts etc.