Advertisement
tjone270

QuakeStart.sh

Sep 19th, 2015
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 7.73 KB | None | 0 0
  1. #! /bin/bash
  2. # quakestart.sh - quake live multiple server spawning script.
  3. # created by Thomas Jones on 09/09/15.
  4. # purger@tomtecsolutions.com
  5.  
  6. # Defining variables.
  7. pathToStartScript="/home/qlserver/steamcmd/steamapps/common/qlds/run_server_x86.sh"
  8. pathToBaseQ3="/home/qlserver/steamcmd/steamapps/common/qlds/baseq3"
  9.  
  10. location=""
  11. password=""
  12. sponsortag="$location"
  13.  
  14. gameport=`expr $1 + 27960`
  15. rconport=`expr $1 + 28960`
  16. servernum=`expr $1 + 0`
  17.  
  18. # Executing a random delay to stagger the spawning of each server, as
  19. # supervisord starts everything at once, thus lowering the load surge.
  20. #   echo "Sleeping for random delay (5-30 seconds) before spawning..."
  21. #   sleep $(((RANDOM%120)+10))
  22. # No-one cares about this anymore, sleeping on a per-server basis now?
  23. # Finally works, should mean that all servers should be up after 45 seconds.
  24.  
  25. # Starts servers with different settings, based off the process number parsed
  26. # as argument 1 by supervisord.
  27.  
  28. echo "========== QuakeStart.sh has started. =========="
  29. #echo "arg1 is equal to $1"
  30. cd $pathToBaseQ3
  31.  
  32. if [ $1 -le 1 ]
  33. # starting PQL CA 1 and 2...
  34. then
  35. cp -f mappool_pqlca.txt mappool.txt
  36. echo "Starting clan arena server 1 or 2..."
  37. exec $pathToStartScript \
  38.     +set net_strict 1 \
  39.     +set net_port $gameport \
  40.     +set sv_hostname "  #$servernum The Purgery $location PQL - Clan Arena" \
  41.     +set zmq_rcon_enable 1 \
  42.     +set zmq_rcon_password "$password" \
  43.     +set zmq_rcon_port $rconport \
  44.     +set zmq_stats_enable 1 \
  45.     +set zmq_stats_password "$password" \
  46.     +set zmq_stats_port $gameport \
  47.     +set sv_tags "$sponsortag" \
  48.     +set g_voteFlags "13320" \
  49.     +set g_allowSpecVote 1 \
  50.     +set g_allowVoteMidGame 1 \
  51.     +set bot_enable 1 \
  52.     +set bot_nochat 1 \
  53.     +set fs_homepath ~/.quakelive/$gameport
  54. elif [ $1 -eq 2 ]
  55. # starting PQL Race 1...
  56. then
  57. sleep 5
  58. cp -f mappool_pqlrace.txt mappool.txt
  59. echo "Starting race server 1..."
  60. exec $pathToStartScript \
  61.     +set net_strict 1 \
  62.     +set net_port $gameport \
  63.     +set sv_hostname "  #$servernum The Purgery $location PQL - Race" \
  64.     +set zmq_rcon_enable 1 \
  65.     +set zmq_rcon_password "$password" \
  66.     +set zmq_rcon_port $rconport \
  67.     +set zmq_stats_enable 1 \
  68.     +set zmq_stats_password "$password" \
  69.     +set zmq_stats_port $gameport \
  70.     +set sv_tags "grappling hook, crouch slide, $sponsortag" \
  71.     +set g_voteFlags "13320" \
  72.     +set g_allowSpecVote 1 \
  73.     +set g_allowVoteMidGame 1 \
  74.     +set bot_enable 1 \
  75.     +set bot_nochat 1 \
  76.     +set fs_homepath ~/.quakelive/$gameport
  77. elif [ $1 -eq 3 ]
  78. # starting PQL FFA 1...
  79. then
  80. sleep 10
  81. cp -f mappool_pqlffa.txt mappool.txt
  82. echo "Starting free for all server 1..."
  83. exec $pathToStartScript \
  84.     +set net_strict 1 \
  85.     +set net_port $gameport \
  86.     +set sv_hostname "  #$servernum The Purgery $location PQL - Free For All (Beta)" \
  87.     +set zmq_rcon_enable 1 \
  88.     +set zmq_rcon_password "$password" \
  89.     +set zmq_rcon_port $rconport \
  90.     +set zmq_stats_enable 1 \
  91.     +set zmq_stats_password "$password" \
  92.     +set zmq_stats_port $gameport \
  93.     +set sv_tags "$sponsortag" \
  94.     +set g_voteFlags "13320" \
  95.     +set g_allowSpecVote 1 \
  96.     +set g_allowVoteMidGame 1 \
  97.     +set bot_enable 1 \
  98.     +set bot_nochat 1 \
  99.     +set fs_homepath ~/.quakelive/$gameport
  100. elif [ $1 -eq 4 ]
  101. # starting PQL CTF 1...
  102. then
  103. sleep 15
  104. cp -f mappool_pqlctf.txt mappool.txt
  105. echo "Starting capture the flag server 1..."
  106. exec $pathToStartScript \
  107.     +set net_strict 1 \
  108.     +set net_port $gameport \
  109.     +set sv_hostname "  #$servernum The Purgery $location PQL - Capture the Flag" \
  110.     +set zmq_rcon_enable 1 \
  111.     +set zmq_rcon_password "$password" \
  112.     +set zmq_rcon_port $rconport \
  113.     +set zmq_stats_enable 1 \
  114.     +set zmq_stats_password "$password" \
  115.     +set zmq_stats_port $gameport \
  116.     +set sv_tags "$sponsortag" \
  117.     +set g_voteFlags "13320" \
  118.     +set g_allowSpecVote 1 \
  119.     +set g_allowVoteMidGame 1 \
  120.     +set bot_enable 1 \
  121.     +set bot_nochat 1 \
  122.     +set fs_homepath ~/.quakelive/$gameport
  123. elif [ $1 -eq 5 ]
  124. # starting PQL DOM 1...
  125. then
  126. sleep 20
  127. cp -f mappool_pqldom.txt mappool.txt
  128. echo "Starting domination server 1..."
  129. exec $pathToStartScript \
  130.     +set net_strict 1 \
  131.     +set net_port $gameport \
  132.     +set sv_hostname "  #$servernum The Purgery $location PQL - Domination" \
  133.     +set zmq_rcon_enable 1 \
  134.     +set zmq_rcon_password "$password" \
  135.     +set zmq_rcon_port $rconport \
  136.     +set zmq_stats_enable 1 \
  137.     +set zmq_stats_password "$password" \
  138.     +set zmq_stats_port $gameport \
  139.     +set sv_tags "$sponsortag" \
  140.     +set g_voteFlags "13320" \
  141.     +set g_allowSpecVote 1 \
  142.     +set g_allowVoteMidGame 1 \
  143.     +set bot_enable 1 \
  144.     +set bot_nochat 1 \
  145.     +set fs_homepath ~/.quakelive/$gameport
  146. elif [ $1 -eq 6 ]
  147. # starting PQL INFECTED 1...
  148. then
  149. sleep 25
  150. cp -f mappool_pqlinfected.txt mappool.txt
  151. echo "Starting infected server 1..."
  152. exec $pathToStartScript \
  153.     +set net_strict 1 \
  154.     +set net_port $gameport \
  155.     +set sv_hostname "  #$servernum The Purgery $location PQL - Infected (Beta)" \
  156.     +set zmq_rcon_enable 1 \
  157.     +set zmq_rcon_password "$password" \
  158.     +set zmq_rcon_port $rconport \
  159.     +set zmq_stats_enable 1 \
  160.     +set zmq_stats_password "$password" \
  161.     +set zmq_stats_port $gameport \
  162.     +set sv_tags "zombies, $sponsortag" \
  163.     +set g_voteFlags "13320" \
  164.     +set g_allowSpecVote 1 \
  165.     +set g_allowVoteMidGame 1 \
  166.     +set bot_enable 1 \
  167.     +set bot_nochat 1 \
  168.     +set fs_homepath ~/.quakelive/$gameport
  169. elif [ $1 -eq 7 ]
  170. # starting PQL TDM 1...
  171. then
  172. sleep 30
  173. cp -f mappool_pqltdm.txt mappool.txt
  174. echo "Starting team deathmatch server 1..."
  175. exec $pathToStartScript \
  176.     +set net_strict 1 \
  177.     +set net_port $gameport \
  178.     +set sv_hostname "  #$servernum The Purgery $location PQL - Team Deathmatch (Beta)" \
  179.     +set zmq_rcon_enable 1 \
  180.     +set zmq_rcon_password "$password" \
  181.     +set zmq_rcon_port $rconport \
  182.     +set zmq_stats_enable 1 \
  183.     +set zmq_stats_password "$password" \
  184.     +set zmq_stats_port $gameport \
  185.     +set sv_tags "$sponsortag" \
  186.     +set g_voteFlags "13320" \
  187.     +set g_allowSpecVote 1 \
  188.     +set g_allowVoteMidGame 1 \
  189.     +set bot_enable 1 \
  190.     +set bot_nochat 1 \
  191.     +set fs_homepath ~/.quakelive/$gameport
  192. elif [ $1 -eq 8 ]
  193. # starting vql duel 1...
  194. then
  195. sleep 35
  196. cp -f mappool_vqlduel.txt mappool.txt
  197. echo "Starting VQL duel server 1..."
  198. exec $pathToStartScript \
  199.     +set net_strict 1 \
  200.     +set net_port $gameport \
  201.     +set sv_hostname "  #$servernum The Purgery $location VQL - Duel" \
  202.     +set zmq_rcon_enable 1 \
  203.     +set zmq_rcon_password "$password" \
  204.     +set zmq_rcon_port $rconport \
  205.     +set zmq_stats_enable 1 \
  206.     +set zmq_stats_password "$password" \
  207.     +set zmq_stats_port $gameport \
  208.     +set sv_tags "$sponsortag" \
  209.     +set g_voteFlags "13320" \
  210.     +set g_allowSpecVote 1 \
  211.     +set g_allowVoteMidGame 1 \
  212.     +set bot_enable 1 \
  213.     +set bot_nochat 1 \
  214.     +set fs_homepath ~/.quakelive/$gameport
  215. elif [ $1 -eq 9 ]
  216. # starting PQL MultiGame 1...
  217. then
  218. sleep 40
  219. cp -f mappool_pqlmulti.txt mappool.txt
  220. echo "Starting multi game type server 1..."
  221. exec $pathToStartScript \
  222.     +set net_strict 1 \
  223.     +set net_port $gameport \
  224.     +set sv_hostname " #$servernum The Purgery $location PQL - Multi-Gametype Turbo (Beta)" \
  225.     +set zmq_rcon_enable 1 \
  226.     +set zmq_rcon_password "$password" \
  227.     +set zmq_rcon_port $rconport \
  228.     +set zmq_stats_enable 1 \
  229.     +set zmq_stats_password "$password" \
  230.     +set zmq_stats_port $gameport \
  231.     +set sv_tags "$sponsortag" \
  232.     +set g_allowSpecVote 1 \
  233.     +set g_allowVoteMidGame 1 \
  234.     +set bot_enable 1 \
  235.     +set bot_nochat 1 \
  236.     +set fs_homepath ~/.quakelive/$gameport
  237. fi
  238.  
  239. # Unused cvars.
  240. # +set sv_mapPoolFile "mappool_pqlca.txt" \
  241. # +set net_ip "quakelive.tomtecsolutions.com.au" \
  242. # +set com_hunkMegs 30 \
  243. # +set sv_idleExit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement