How to open a Garry's Mod server to friends without a public IP
Since app version 1.3.0
Create a Garry's Mod server in ProximaClient with a public tunnel and send your friends its address: they join with the connect command in the game console. The app downloads the server files by itself.
Steps
- Create the server as described on "Create a game server": pick Garry's Mod and tick "Create a public tunnel for this server" at the "Setup" step.
- On the "Launch options" tab, pick the "Game mode" (Sandbox to start with) and, if you need one, enter a Steam collection number in "Workshop collection": on start the server downloads the collection and loads all of it.
- Click "Start". On the first start a "Steam token for the server" window opens: create a token on Steam's token page following the steps in the window and click "Save and start", or click "Start without a token". Without a token the server works, but Valve ranks it lower in the server browser, and a wrong token keeps the server from starting.
Check it: after the start, the tunnel's external address appears in the server header.
Addons from the garrysmod/addons folder are turned on and off on the "Addons" tab, and workshop items only as the whole collection (step 2). A mode is also picked with "Make active" on the "Gamemodes" tab. Changes on both tabs apply at the next server start.
How friends join the server
Send your friends the external address from the server header. In the game they open the console with ~ and enter the whole address:
connect 203.0.113.10:41234
If the console doesn't open, add -console to the game's launch options in Steam. If friends can't join, open "Friends can't connect".
If you run the server yourself
Point the tunnel at this computer's address on your home network, for example 192.168.1.20, not at localhost: a Garry's Mod server refuses players who come from 127.0.0.1, and a tunnel to localhost brings them from exactly there. On Windows, the computer's home network address is the IPv4 line in the output of:
ipconfig
- App
- Command line
Create a UDP tunnel with the destination address 192.168.1.20:27015: another device or server.
hostname -I # this computer's addresses on Linux: use the home network one, usually 192.168.…
proximamp udp 27015 --host 192.168.1.20
The first line of output is the address for connect.