Set Garry’s Mod’s sv_loadingurl console variable to the public web address of your loading page, then restart the server. The standard configuration is sv_loadingurl "https://example.com/loading.html" in garrysmod/cfg/autoexec.cfg, or +sv_loadingurl "https://example.com/loading.html" in the dedicated-server startup command.
Godlike.Host offers hosted Garry's Mod servers with its own game panel, SFTP access and free DDoS protection, if you would rather not host it yourself.
What sv_loadingurl changes
sv_loadingurl selects the web page shown to players while they connect to your server. It controls the visual loading screen: branding, instructions, rules, status text, and other content delivered by the page you host. Facepunch’s Garry’s Mod Wiki describes the setting directly: “To specify which website is shown, set the sv_loadingurl convar.”
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →The page must be hosted at a URL that joining players can reach. The server does not upload the page for you, and changing this convar does not distribute addons, maps, materials, models, or sounds. Those files use WorkshopDL, FastDL, or ServerDL configurations described later in this guide.
Before you edit the server
- A complete page URL: Use the address of the actual HTML page, such as
https://example.com/loading.html, rather than assuming a folder URL will behave the same way. - Public reachability: Players must be able to reach the web server from outside your own network. A page that works only on
localhost, a private address, or a firewall-restricted host will not load for them. - Permission to change the server configuration: You need access to the server’s files, its startup command, or the control panel that generates those settings.
- A restart window: Plan to restart the dedicated server after changing the convar so the running instance reads the new value.
- The correct configuration owner: A hosting panel or wrapper may generate a separate configuration file and override the normal file. Identify which command or file your service actually executes.
Method 1: set the URL in autoexec.cfg
The canonical file-based method works on a normal dedicated Garry’s Mod installation. The file is inside the server’s garrysmod/cfg directory.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
- Open the server’s
garrysmod/cfgfolder. - Create
autoexec.cfgif it does not already exist. If it exists, open it with a plain-text editor. - Add one line containing the full URL, including the protocol and page filename:
sv_loadingurl "https://example.com/loading.html"
- Save the file as plain text. Ensure the filename is exactly
autoexec.cfg, notautoexec.cfg.txt. - Restart the dedicated server.
- Join from a client and wait through the connection process. The configured page should appear while the client is loading.
Keep the URL on one line and retain the quotation marks. The quotes are especially useful when a URL contains characters that could otherwise be interpreted as command separators.
Checking the file after a restart
If you can use the server console, inspect the value of the convar after the restart by entering:
sv_loadingurl
The console should report the value currently loaded by the running server. If it is empty or still shows an older address, the server may be reading a different configuration, the file may be in the wrong directory, or a wrapper may be applying another value later in the startup sequence.
Method 2: set the URL in the startup command
You can define the convar when launching the dedicated server instead of putting it in autoexec.cfg. Add the setting as a startup argument with a leading plus sign:
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
+sv_loadingurl "https://example.com/loading.html"
Place this argument with the other server launch options. The exact location depends on how you start the server, but the important parts are the + prefix, the convar name, and the quoted URL.
After editing the launch command, stop and start the server rather than merely reconnecting a player. A process that was already running cannot apply a newly edited command line until it is relaunched.
Free tools Windows power users keep installed
One-click scans. No signup required.
Choosing between the two methods
| Configuration point | What it changes | When it is practical | Main risk |
|---|---|---|---|
garrysmod/cfg/autoexec.cfg |
Loads the convar from the server’s standard auto-execution file. | Direct installations where you manage the server files. | A panel or wrapper may load another file afterward or regenerate the file. |
| Dedicated-server startup command | Passes sv_loadingurl when the process starts. |
Services that expose launch parameters or scripts. | An update, template, or panel may replace the command line. |
| Hosting-wrapper configuration | Lets a management tool inject the value into its generated server configuration. | Managed servers where the wrapper owns startup and config files. | The wrapper’s precedence rules can override both the base file and manual edits. |
Hosting panels and generated configuration
Control panels often do not start the game server directly from the files you edit. They may build a command line, write a generated configuration, or restore a template every time the service restarts. In that situation, a correct line in autoexec.cfg can appear to have no effect.
Find the panel’s startup-command editor, custom-variable area, or server-specific configuration section and add the equivalent setting there. If the panel offers a console, use it to check the active value after a full restart. Do not keep changing several files at once; doing so makes it difficult to tell which source currently wins.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
LinuxGSM documents a wrapper-specific gmodserver.cfg file and notes that this file overrides other files in its setup. That precedence applies to LinuxGSM’s wrapper, not to every Garry’s Mod server. The general rule is to follow the configuration path used by your own panel or script and verify the resulting value in the running console.
Use player and map values in the URL
The official loading-screen documentation supports two substitutions in the URL:
%sis replaced with the joining player’s 64-bit Steam community ID.%mis replaced with the current map name.
For example:
sv_loadingurl "https://example.com/loading?SteamId=%s&Map=%m"
When a player joins, Garry’s Mod substitutes the values before requesting the page. Your web application can then read the query parameters and tailor the page to that player or map. Keep the URL syntactically valid, and test both parameters with a real connection. A static page does not need substitutions; use them only when your site actually handles the supplied values.
These substitutions provide context to the loading page. They do not grant the page permission to control the player’s Steam account, and they do not change how addon files are downloaded.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
Callbacks available to the loading page
A loading page can define JavaScript functions that Garry’s Mod invokes during the connection process. The official documentation lists callbacks including GameDetails, SetFilesTotal, DownloadingFile, SetStatusChanged, and SetFilesNeeded.
GameDetails
GameDetails receives connection information that the page can display. The documented values include the server name, loading URL, map, maximum player count, Steam ID, gamemode, volume, and language. A page can use these values to show the current map, identify the server, or select language-specific text.
Recommended Free Tools
File and status callbacks
SetFilesTotal, SetFilesNeeded, and DownloadingFile expose progress information while files are being processed. SetStatusChanged reports status changes. If your page uses these callbacks, provide visible fallback text for clients or situations where a value is unavailable; the page should still communicate something useful instead of leaving an empty progress area.
Callbacks update the page’s display only. They do not replace the server’s content-delivery system, and writing JavaScript callbacks cannot make an unconfigured addon download source work.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
sv_loadingurl versus WorkshopDL, FastDL, and ServerDL
The loading URL and file downloads are separate systems. Use sv_loadingurl for the page players see, then configure the appropriate delivery method for files they need.
| System | Purpose | Required configuration | Important limitation or behavior |
|---|---|---|---|
sv_loadingurl |
Selects the visual web page shown during joining. | A publicly reachable page URL in the convar, autoexec file, startup command, or active wrapper configuration. | Does not send addons, maps, materials, models, or sounds. |
| WorkshopDL | Downloads content published to the Steam Workshop. | Publish the content and reference it with resource.AddWorkshop. |
Only applies to content made available through the Workshop workflow. |
| FastDL | Downloads marked files from a separate web server. | Configure sv_downloadurl and place the required files on the download server. |
The client first attempts a compressed .bz2 file and then the regular file. |
| ServerDL | Uses Source networking for file delivery. | Enable downloads with sv_allowdownload 1. |
The official documentation describes it as obsolete and limited to 64 KB/s. |
If players see your custom page but still report missing textures or models, leave sv_loadingurl unchanged and troubleshoot WorkshopDL or FastDL separately. If the page itself never appears, investigate the URL and convar configuration rather than addon manifests.
Troubleshooting a blank, black, or unchanged loading screen
The old page still appears
- Confirm that the line contains the right convar name:
sv_loadingurl. - Check that the URL is inside the active
autoexec.cfg, not a similarly named file in another installation. - If you use a panel or wrapper, inspect its generated startup command and configuration file. A later setting can override the value you edited.
- Perform a complete server restart, then query
sv_loadingurlin the server console.
The page is blank or unavailable
- Open the exact URL in a normal browser from a network other than the server’s local network.
- Confirm that the address resolves to the page itself and not to a directory that redirects unexpectedly.
- Check the web server’s access and error logs for requests from joining players.
- Verify that the HTML, CSS, JavaScript, and image paths used by the page are reachable from the same public host.
- Try a minimal page containing plain text. If the minimal page loads, add scripts and styling back incrementally to identify the failing component.
Facepunch documents how to configure the URL but does not publish a universal guarantee that every modern browser feature, web stack, or TLS configuration will render identically in every Garry’s Mod client. Treat compatibility as something to test with the clients and hosting setup you actually support.
The page works in a browser but not for players
- Make sure players receive the same public DNS name and protocol that you tested; an internal hostname can work for you while remaining unreachable to the Internet.
- Check redirects, authentication prompts, IP allow-lists, and firewall rules on the web host.
- Use a simple page URL first, then add
%sand%monly after the static version works. - Inspect the final URL generated for a joining player if your web server logs requests. This can reveal malformed query strings or an unexpected map value.
Players report missing textures, models, or sounds
Do not attempt to fix asset delivery by changing the loading page. Verify that Workshop items are published and registered with resource.AddWorkshop, or configure a FastDL server and sv_downloadurl for marked files. ServerDL remains available only as the older Source-networking path and is documented with a 64 KB/s limit.
You tried a local file URL
The official documentation lists asset://garrysmod/html/loading.html, but explains that it loads from the client’s own machine and is “nearly useless.” It is therefore unsuitable for a real public server: each player would need the file locally, and you would not be serving one centrally managed page. Host the page on a public web server instead.
Verify the setup with a controlled test
- Create a minimal page with an unmistakable title, such as “Loading test 2026,” and host it publicly.
- Set
sv_loadingurlin exactly one active configuration location. - Restart the dedicated server and query the convar in the server console.
- Join from a client that is not running a cached local copy of the page.
- Confirm that the test page appears before adding dynamic substitutions, callbacks, images, or external scripts.
- Replace the test URL with the finished page, restart again, and repeat the join test.
- Test a map change and, if used, inspect the page request to confirm that
%mproduces the expected map value. Test a player join to confirm that%sproduces the intended 64-bit Steam community ID.
This staged approach separates configuration errors from page-code errors. A known-good static page proves that the convar and hosting path work before additional features are introduced.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Operational checklist
- Use a complete, public URL to the loading page.
- Put
sv_loadingurl "https://example.com/loading.html"ingarrysmod/cfg/autoexec.cfg, or pass+sv_loadingurl "https://example.com/loading.html"at startup. - Restart the server and confirm the active value in the console.
- Account for panel or wrapper precedence; generated configuration can override manual files.
- Use
%sfor the joining player’s 64-bit Steam community ID and%mfor the current map when your page needs those values. - Keep loading-page configuration separate from WorkshopDL, FastDL, and ServerDL asset delivery.
- Test the exact URL from an external browser and with an actual client connection.
- Use a remotely hosted page for public servers; the local
asset://example is documented as nearly useless for this purpose.
Bottom line
Changing a Garry’s Mod loading screen is a one-convar task: host the page, set sv_loadingurl in the active startup or configuration location, restart, and verify the result. If the page is visible but players lack game assets, configure WorkshopDL or FastDL independently; the loading URL only chooses what players see while they join.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




