Editing Installing on Windows with WSL

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
== Easy installation script ==
Right click this link and select save link as:
https://raw.githubusercontent.com/rafradek/sigsegv-mvm/master/windows_install_wsl.bat
Run the downloaded bat file and follow the instructions printed in console
== Manual installation ==
Run the bat file and follow instructions printed in console
Based on guides: https://docs.microsoft.com/en-us/windows/wsl/install-win10 https://wiki.teamfortress.com/wiki/Linux_dedicated_server
Based on guides: https://docs.microsoft.com/en-us/windows/wsl/install-win10 https://wiki.teamfortress.com/wiki/Linux_dedicated_server


Open PowerShell as administrator, then execute those commands
Open PowerShell as administrator, then execute those commands
  dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  <code>dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart</code>
 
Now restart your PC. After that, execute another PowerShell command
Now restart your PC. After that, execute another PowerShell command
  wsl --set-default-version  2
  <code>wsl --set-default-version  2
  echo [wsl2] memory=2GB > $env:USERPROFILE/.wslconfig
  echo [wsl2] memory=2GB > $env:USERPROFILE/.wslconfig</code>
Open Microsoft Store and install Ubuntu. Launch Ubuntu from start menu. Fill in username and password info when asked. Install required packages by entering those commands into the window:
Open Microsoft Store and install Ubuntu. Launch Ubuntu from start menu. Fill in username and password info when asked. Install required packages by entering those commands into the window:
  sudo dpkg --add-architecture i386
  <code>sudo dpkg --add-architecture i386
  sudo apt-get update
  sudo apt-get update
  sudo apt-get install lib32z1 libncurses5:i386 libbz2-1.0:i386 lib32gcc-s1 lib32stdc++6 libtinfo5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386
  sudo apt install lib32z1 libncurses5:i386 libbz2-1.0:i386 lib32gcc1 lib32stdc++6 libtinfo5:i386 libcurl3-gnutls:i386 steamcmd</code>
sudo ufw disable
You will be asked to accept a license, press tab to move to the ok button, then enter to accept it
Those Ubuntu commands will install and update server in ~/hlserver/hlserver:
 
  mkdir ~/hlserver
This will install and update server in ~/hlserver/hlserver:
  cd ./hlserver
  <code>mkdir ~/hlserver
  wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
  cd ~/hlserver
tar zxf steamcmd_linux.tar.gz
  steamcmd +login anonymous +force_install_dir ./hlserver +app_update 232250 +quit</code>
./steamcmd.sh +login anonymous +force_install_dir ./hlserver +app_update 232250 +quit
You can browse server files in windows explorer with this Ubuntu command:
You can browse server files in windows explorer with this Ubuntu command:
  explorer.exe ~/hlserver/hlserver
  <code>explorer.exe ~/hlserver/hlserver</code>
If you have an existing windows server installation you can copy server files here.
Unpack all sigsegv archive contents into tf directory


Install a linux version of sourcemod and mm: source in this location
If you have an existing windows server installation you can copy server files here. Do note that you would need to install a linux version of sourcemod and mm: source.


Unpack all sigsegv archive contents into tf directory
Create a server starting file in Ubuntu shell:
 
  <code>echo "#!/bin/sh" > ~/startserver.sh
Create a server starting file with Ubuntu commands:
  echo "~/hlserver/hlserver/srcds_run -console -game tf -ip 0.0.0.0 +sv_pure 1 +randommap +maxplayers 24" >> ~/startserver.sh
  echo "#!/bin/sh" > ~/startserver.sh
  chmod u+x ~/startserver.sh</code>
  echo "~/hlserver/hlserver/srcds_run +map bigrock +maxplayers 32" >> ~/startserver.sh
Run server in Ubuntu shell:
  chmod u+x ~/startserver.sh
  <code>~/startserver.sh</code>
Run server with Ubuntu command:
  ~/startserver.sh
Or, to run a server from windows CMD / PowerShell:
Or, to run a server from windows CMD / PowerShell:
  wsl ~/startserver.sh
  <code>wsl ~/startserver.sh</code>
You should check your linux server IP with a command executed in PowerShell. You can use this IP to connect to your server from this Windows PC. IP will change with every system reset:
You should check your linux server IP with a command executed in PowerShell. IP will change with every system reset:
  wsl hostname -I
  <code>wsl hostname -I</code>
The section below tells how to connect to the server using your LAN or public IP if available
 
 
You can make the server autostart by adding a scheduled task in Task Scheduler, on login condition, running wsl as a program with ~/startserver.sh as an argument.
You can make the server autostart by adding a scheduled task in Task Scheduler, on login condition, running wsl as a program with ~/startserver.sh as an argument.


=Make the server accessible from the Internet and the local network=
=Make server accessible from the Internet and the local network=
Download a program named [http://aluigi.altervista.org/mytoolz/sudppipe.zip sudppipe] (The browser may mark this file as unsafe so you might have to right click and select Save link As)
Download a program named [http://aluigi.altervista.org/mytoolz/sudppipe.zip sudppipe] (The browser may mark this file as unsafe so you might have to right click and select Save link As)


Unpack the downloaded archive, then create tf2portpipe.bat file in the unpacked directory alongside sudppipe.exe. Replace port value with your own server port. The port should not be in use by any other program (TF2 client often binds to port 27015).
Unpack the downloaded archive, then create tf2portpipe.bat file in the unpacked directory alongside sudppipe.exe. Replace port value with your own server port. The port should not be in use by any other program (TF2 client often binds to port 27015).
  @ECHO off
  <code>@ECHO off
   
   
  SET port=27015
  SET port=27015
Line 63: Line 46:
  SET ip=%%F
  SET ip=%%F
  )
  )
  %~dp0/sudppipe.exe -q -b 0.0.0.0 %ip% %port% %port%
  %~dp0/sudppipe.exe -q -b 0.0.0.0 %ip% %port% %port%</code>
Run the bat file. If you wish to get rid of the console window, add a run on system startup scheduled task, with run whether user is logged on or not option, launching this script file as a program.
Run the bat file. If you wish to get rid of the console window, add a run on system startup scheduled task, with run whether user is logged on or not option, launching this script file as a program.
[[Category:Tutorials]]
Please note that all contributions to SigMod are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see SigMod:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)