Setting up a private LAN server for Dota 2 is a reliable way to practice with friends or host local tournaments without relying on public matchmaking servers. Having managed several local setups, I have found that the Source engine's console remains the most efficient way to initialize these sessions. Follow these steps carefully to ensure your local network environment is correctly configured.
I. Setup a LAN Dota 2 serverPerform these steps on the machine that will host the game. This computer acts as the server, so ensure it has a stable connection to your local network.
- Right click Dota 2 in Steam and select "Properties"
- On the "General" tab, click "Set Launch Options" and type in -console
- Click OK and close the properties window
- Start Dota 2. You will see the console interface, which allows for direct engine commands:
- In the console, execute the following commands in order to initialize the server environment:
- sv_cheats 1
- sv_lan 1
- dota_bot_set_difficulty 4
- dota_start_ai_game 1
- dota_force_gamemode 1
- map dota.bsp
- jointeam good/bad
The server must be identifiable by other machines on your local network. You can verify the port binding directly through the console output.
- In the console, look for a line similar to: "Opened server (27015) (threaded)"
In this example, 27015 is the active PORT. - Identify the local IP address of the host machine. If you are unsure how to retrieve this, refer to this guide: https://www.wikihow.com/Find-an-IP-Address
Once the host is running, other players on the same LAN can connect directly.
- Follow steps 1 to 4 in I. Setup a LAN Dota 2 server on each client machine.
- In the console, use the following commands to join the session:
- connect IP:PORT
- jointeam good/bad
To ensure a full 5v5 experience if you have fewer than ten players, you can force the server to populate remaining slots with AI.
- On the host machine, type and run the following command in the console:
- dota_bot_populate

