From 84a196ee7deede0c57376f02a12a26e5b8a6b863 Mon Sep 17 00:00:00 2001 From: Rim Date: Thu, 16 May 2024 20:30:05 -0400 Subject: [PATCH] chore: add dedicated server (windows/linux) & fail2ban config --- .../DedicatedLobbyServer.sh | 34 + .../DedicatedLobbyServerLAN.sh | 34 + cfg/DedicatedConfigsLinux/DedicatedServer.sh | 29 + .../DedicatedServerLAN.sh | 29 + .../userraw/LANPlaylist.info | 1938 +++++++++++++++++ .../userraw/myplaylists.info | 1919 ++++++++++++++++ .../userraw/partyserver.cfg | 188 ++ .../userraw/partyserverlan.cfg | 188 ++ cfg/DedicatedConfigsLinux/userraw/server.cfg | 521 +++++ .../userraw/serverlan.cfg | 521 +++++ .../DedicatedLobbyServer.bat | 102 + .../DedicatedLobbyServerLAN.bat | 102 + .../DedicatedServer.bat | 61 + .../DedicatedServerLAN.bat | 63 + .../userraw/LANPlaylist.info | 1938 +++++++++++++++++ .../userraw/myplaylists.info | 1919 ++++++++++++++++ .../userraw/partyserver.cfg | 188 ++ .../userraw/partyserverlan.cfg | 188 ++ .../userraw/server.cfg | 521 +++++ .../userraw/serverlan.cfg | 521 +++++ cfg/fail2ban/filter.d/iw4x.conf | 2 + cfg/fail2ban/jail.d/iw4x.conf | 9 + 22 files changed, 11015 insertions(+) create mode 100644 cfg/DedicatedConfigsLinux/DedicatedLobbyServer.sh create mode 100644 cfg/DedicatedConfigsLinux/DedicatedLobbyServerLAN.sh create mode 100644 cfg/DedicatedConfigsLinux/DedicatedServer.sh create mode 100644 cfg/DedicatedConfigsLinux/DedicatedServerLAN.sh create mode 100644 cfg/DedicatedConfigsLinux/userraw/LANPlaylist.info create mode 100644 cfg/DedicatedConfigsLinux/userraw/myplaylists.info create mode 100644 cfg/DedicatedConfigsLinux/userraw/partyserver.cfg create mode 100644 cfg/DedicatedConfigsLinux/userraw/partyserverlan.cfg create mode 100644 cfg/DedicatedConfigsLinux/userraw/server.cfg create mode 100644 cfg/DedicatedConfigsLinux/userraw/serverlan.cfg create mode 100644 cfg/DedicatedConfigsWindows/DedicatedLobbyServer.bat create mode 100644 cfg/DedicatedConfigsWindows/DedicatedLobbyServerLAN.bat create mode 100644 cfg/DedicatedConfigsWindows/DedicatedServer.bat create mode 100644 cfg/DedicatedConfigsWindows/DedicatedServerLAN.bat create mode 100644 cfg/DedicatedConfigsWindows/userraw/LANPlaylist.info create mode 100644 cfg/DedicatedConfigsWindows/userraw/myplaylists.info create mode 100644 cfg/DedicatedConfigsWindows/userraw/partyserver.cfg create mode 100644 cfg/DedicatedConfigsWindows/userraw/partyserverlan.cfg create mode 100644 cfg/DedicatedConfigsWindows/userraw/server.cfg create mode 100644 cfg/DedicatedConfigsWindows/userraw/serverlan.cfg create mode 100644 cfg/fail2ban/filter.d/iw4x.conf create mode 100644 cfg/fail2ban/jail.d/iw4x.conf diff --git a/cfg/DedicatedConfigsLinux/DedicatedLobbyServer.sh b/cfg/DedicatedConfigsLinux/DedicatedLobbyServer.sh new file mode 100644 index 00000000..8bae12e9 --- /dev/null +++ b/cfg/DedicatedConfigsLinux/DedicatedLobbyServer.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# IW4x Lobby Server Configuration start-up file +# For support visit us on discord https://discord.gg/2ETE8engZM + +# Choose your gamemode of 0-22 of your choice above +PlaylistGameMode=1 + +# Your Game Server Port. Make sure you Port Forward both UDP & TCP +GamePort=28960 + +# Offline/Private LAN Party Mode +# 0 Disable (Send heartbeats to online serverlist) +# 1 Enable (Add to the Local serverlist. Unlisted from Public) +LANMode=0 + +# Enable logging +LogFile=1 + +# Load a mod on your server +ModFolderName= + +# The name of your edited Playlist from the "userraw" folder goes here (optional) +PlaylistFilename=partyserver.cfg + +# Your edited server.cfg in the "userraw" folder goes here... +# This is where you edit your hostname, rcon, inactivity, etc +# (Optional) +ServerFilename=serverlan.cfg + +# Remove this line if automatic updates on start should be disabled +./alterware-launcher --update + +wine iw4x.exe -dedicated -stdout +set fs_game "$ModFolderName" +set sv_lanonly "$LANMode" +set net_port "$GamePort" +exec "$ServerFilename" +set logfile "$LogFile" +set party_enable "1" +set playlistFilename "$PlaylistFilename" +playlist "$PlaylistGameMode" diff --git a/cfg/DedicatedConfigsLinux/DedicatedLobbyServerLAN.sh b/cfg/DedicatedConfigsLinux/DedicatedLobbyServerLAN.sh new file mode 100644 index 00000000..03cfaba7 --- /dev/null +++ b/cfg/DedicatedConfigsLinux/DedicatedLobbyServerLAN.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# IW4x Lobby Server Configuration start-up file +# For support visit us on discord https://discord.gg/2ETE8engZM + +# Choose your gamemode of 0-22 of your choice above +PlaylistGameMode=1 + +# Your Game Server Port. Make sure you Port Forward both UDP & TCP +GamePort=28960 + +# Offline/Private LAN Party Mode +# 0 Disable (Send heartbeats to online serverlist) +# 1 Enable (Add to the Local serverlist. Unlisted from Public) +LANMode=1 + +# Enable logging +LogFile=1 + +# Load a mod on your server +ModFolderName= + +# The name of your edited Playlist from the "userraw" folder goes here (optional) +PlaylistFilename=myplaylists.info + +# Your edited server.cfg in the "userraw" folder goes here... +# This is where you edit your hostname, rcon, inactivity, etc +# (Optional) +ServerFilename=partyserverlan.cfg + +# Remove this line if automatic updates on start should be disabled +./alterware-launcher --update + +wine iw4x.exe -dedicated -stdout +set fs_game "$ModFolderName" +set sv_lanonly "$LANMode" +set net_port "$GamePort" +exec "$ServerFilename" +set logfile "$LogFile" +set party_enable "1" +set playlistFilename "$PlaylistFilename" +playlist "$PlaylistGameMode" diff --git a/cfg/DedicatedConfigsLinux/DedicatedServer.sh b/cfg/DedicatedConfigsLinux/DedicatedServer.sh new file mode 100644 index 00000000..66be589a --- /dev/null +++ b/cfg/DedicatedConfigsLinux/DedicatedServer.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# IW4x Dedicated Server Configuration start-up file +# For support visit us on discord https://discord.gg/2ETE8engZM + + +# Your Game Server Port. Make sure you Port Forward both UDP & TCP +GamePort=28960 + +# Offline/Private LAN Party Mode +# 0 Disable (Send heartbeats to online serverlist) +# 1 Enable (Add to the Local serverlist. Unlisted from Public) +LANMode=0 + +# Enable logging +LogFile=1 + +# Load a mod on your server +ModFolderName= + +# Your edited server.cfg in the "userraw" folder goes here... +# This is where you edit your hostname, rcon, inactivity, etc +# (Optional) +ServerFilename=server.cfg + +# Remove this line if automatic updates on start should be disabled +./alterware-launcher --update + +wine iw4x.exe -dedicated -stdout +set fs_game "$ModFolderName" +set sv_lanonly "$LANMode" +set net_port "$GamePort" +exec "$ServerFilename" +set logfile "$LogFile" +set party_enable "0" +map_rotate diff --git a/cfg/DedicatedConfigsLinux/DedicatedServerLAN.sh b/cfg/DedicatedConfigsLinux/DedicatedServerLAN.sh new file mode 100644 index 00000000..7d5a432d --- /dev/null +++ b/cfg/DedicatedConfigsLinux/DedicatedServerLAN.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# IW4x Dedicated Server Configuration start-up file +# For support visit us on discord https://discord.gg/2ETE8engZM + + +# Your Game Server Port. Make sure you Port Forward both UDP & TCP +GamePort=28960 + +# Offline/Private LAN Party Mode +# 0 Disable (Send heartbeats to online serverlist) +# 1 Enable (Add to the Local serverlist. Unlisted from Public) +LANMode=1 + +# Enable logging +LogFile=1 + +# Load a mod on your server +ModFolderName= + +# Your edited server.cfg in the "userraw" folder goes here... +# This is where you edit your hostname, rcon, inactivity, etc +# (Optional) +ServerFilename=serverlan.cfg + +# Remove this line if automatic updates on start should be disabled +./alterware-launcher --update + +wine iw4x.exe -dedicated -stdout +set fs_game "$ModFolderName" +set sv_lanonly "$LANMode" +set net_port "$GamePort" +exec "$ServerFilename" +set logfile "$LogFile" +set party_enable "0" +map_rotate diff --git a/cfg/DedicatedConfigsLinux/userraw/LANPlaylist.info b/cfg/DedicatedConfigsLinux/userraw/LANPlaylist.info new file mode 100644 index 00000000..d7753ec1 --- /dev/null +++ b/cfg/DedicatedConfigsLinux/userraw/LANPlaylist.info @@ -0,0 +1,1938 @@ +////////////////////////////////////////////////////////////////////////////////////////// +// IW4x playlists_default.info // +////////////////////////////////////////////////////////////////////////////////////////// +// Deleting gametype scripts may cause broken playlist. Always check and make sure no // +// playlist errors on the console_mp.log once you edit it. // +// // +// --FILE LIMITS-- // +// 32 Gametypes // +// 23 playlists // +////////////////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////// +// Free For All Function Script // +////////////////////////////////////// + +gametype ffa // Function for the playlist rotation. +name english "Free-for-all" // Name of the gametype. +script dm // Real gametype. +rule scr_dm_scorelimit 1500 // Score limit to win the game. +rule scr_dm_timelimit 10 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_dm_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_dm_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_dm_promode 0 + +gametype hc_ffa // Function for the playlist rotation. +name english "Hardcore Free-for-all" // Name of the gametype. +script dm // Real gametype. +hardcore +rule scr_dm_scorelimit 1500 // Score limit to win the game. +rule scr_dm_timelimit 10 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_dm_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_dm_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_dm_promode 0 +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule set scr_dm_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. + +////////////////////////////////////// +// Team Deathmatch Function Script // +////////////////////////////////////// + +gametype tdm // Function for the playlist rotation. +name english "Team Deathmatch" // Name of the gametype. +name french "Match � mort par �quipe" +name italian "Deathmatch a squadre" +name german "Team-Deathmatch" +name spanish "Duelo por equipos" +script war // Real gametype. +teambased +rule scr_thirdperson 0 // 3rd person +rule scr_war_scorelimit 20000 // Score limit to win the game. +rule scr_war_timelimit 17 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_war_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_war_waverespawndelay 0 // Duration is seconds before the first respawn in each round. +rule scr_war_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_war_promode 0 +rule scr_diehard 0 // Die hard mode. +rule scr_war_roundlimit 1 // Rounds per game. +rule scr_war_winlimit 1 // Amount of wins needed to win a round-based game +rule scr_game_Allowkillcam 1 // Allow Killcam. + +gametype die_tdm // Function for the playlist rotation. +name english "Die-Hard Team Deathmatch" // Name of the gametype. +script war // Real gametype. +teambased +rule scr_war_scorelimit 7500 // Score limit to win the game. +rule scr_war_timelimit 10 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_war_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_war_waverespawndelay 0 // Duration is seconds before the first respawn in each round. +rule scr_war_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_war_promode 0 +rule scr_thirdperson 0 // 3rd person +rule scr_diehard 1 // Die hard mode. +rule scr_war_roundlimit 1 // Rounds per game. +rule scr_war_winlimit 1 // Amount of wins needed to win a round-based game +rule scr_game_Allowkillcam 1 // Allow Killcam. + +gametype hc_tdm // Function for the playlist rotation. +name english "Hardcore Team Deathmatch" // Name of the gametype. +script war // Real gametype. +teambased +hardcore +rule scr_war_scorelimit 20000 // Score limit to win the game. +rule scr_war_timelimit 17 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_team_fftype 1 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_war_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_war_waverespawndelay 0 // Duration is seconds before the first respawn in each round. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. + + +////////////////////////////////// +// Domination Function Script // +////////////////////////////////// + +gametype dom // Function for the playlist rotation. +name english "Domination" // Name of the gametype. +script dom // Real gametype. +teambased +rule scr_dom_scorelimit 200 // Score limit to win the game. +rule scr_dom_timelimit 60 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_dom_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_dom_waverespawndelay 0 // Duration is seconds before the first respawn in each round. +rule scr_dom_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_dom_promode 0 +rule scr_dom_roundlimit 1 // Rounds per game +rule scr_dom_winlimit 1 // Amount of wins needed to win a round-based game + +gametype die_dom // Function for the playlist rotation. +name english "Die-Hard Domination" // Name of the gametype. +script dom // Real gametype. +teambased +rule scr_diehard 1 // Die hard mode. +rule scr_dom_scorelimit 200 // Score limit to win the game. +rule scr_dom_timelimit 0 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_dom_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_dom_waverespawndelay 0 // Duration is seconds before the first respawn in each round. +rule scr_dom_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_dom_promode 0 +rule scr_dom_roundlimit 1 // Rounds per game +rule scr_dom_winlimit 1 // Amount of wins needed to win a round-based game + + +gametype hc_dom // Function for the playlist rotation. +name english "Hardcore Domination" // Name of the gametype. +script dom // Real gametype. +teambased +hardcore +rule scr_team_fftype 1 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_dom_scorelimit 200 // Score limit to win the game. +rule scr_dom_timelimit 0 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_dom_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_dom_waverespawndelay 0 // Duration is seconds before the first respawn in each round. +rule scr_dom_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_dom_promode 0 +rule scr_dom_roundlimit 1 // Rounds per game +rule scr_dom_winlimit 1 // Amount of wins needed to win a round-based game +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. + + +////////////////////////////////////// +// Headquarters Function Script // +////////////////////////////////////// + +gametype hq // Function for the playlist rotation. +name english "Headquarters" // Name of the gametype. +script koth // Real gametype. +teambased +rule scr_koth_scorelimit 250 // Score limit to win the game. +rule scr_koth_timelimit 15 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_koth_numlives 0 // Number of lives per game. 0 for unlimited. +rule scr_koth_playerrespawndelay "0" // Players respawn wait. +rule scr_koth_roundlimit 1 // Rounds to be played. +rule scr_koth_Roundswitch 1 // Rounds to be played before teams switch sides. +rule scr_koth_winlimit 1 // Rounds per game +rule scr_koth_waverespawndelay 0 // First respawn delay for each round. +rule koth_promode 0 + +gametype die_hq // Function for the playlist rotation. +name english "Die-Hard Headquarters" // Name of the gametype. +script koth // Real gametype. +teambased +rule scr_diehard 1 // Die hard mode. +rule scr_koth_scorelimit 250 // Score limit to win the game. +rule scr_koth_timelimit 15 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_koth_numlives 0 // Number of lives per game. 0 for unlimited. +rule scr_koth_playerrespawndelay 0 // Players respawn wait. +rule scr_koth_roundlimit 1 // Rounds to be played. +rule scr_koth_Roundswitch 1 // Rounds to be played before teams switch sides. +rule scr_koth_winlimit 1 // Rounds per game +rule scr_koth_waverespawndelay 0 // First respawn delay for each round. +rule koth_promode 0 + +gametype hq_pro // Function for the playlist rotation. +name english "Headquarters Pro" // Name of the gametype. +script koth // Real gametype. +teambased +rule koth_spawntime 30 +rule scr_koth_scorelimit 250 // Score limit to win the game. +rule scr_koth_timelimit 15 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_koth_numlives 0 // Number of lives per game. 0 for unlimited. +rule scr_koth_playerrespawndelay 0 // Players respawn wait. +rule scr_koth_roundlimit 1 // Rounds to be played. +rule scr_koth_Roundswitch 1 // Rounds to be played before teams switch sides. +rule scr_koth_winlimit 1 // Rounds per game +rule scr_koth_waverespawndelay 0 // First respawn delay for each round. +rule koth_promode 0 + +gametype hc_hq // Function for the playlist rotation. +name english "Hardcore Headquarters" // Name of the gametype. +script koth // Real gametype. +teambased +hardcore +rule scr_team_fftype 1 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_koth_scorelimit 250 // Score limit to win the game. +rule scr_koth_timelimit 10 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_koth_numlives 0 // Number of lives per game. 0 for unlimited. +rule scr_koth_playerrespawndelay 0 // Players respawn wait. +rule scr_koth_roundlimit 1 // Rounds to be played. +rule scr_koth_Roundswitch 1 // Rounds to be played before teams switch sides. +rule scr_koth_winlimit 1 // Rounds per game +rule scr_koth_waverespawndelay 0 // First respawn delay for each round. +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. +rule koth_promode 0 + +////////////////////////////////// +// Sabotage Function Script // +////////////////////////////////// + +gametype sab // Function for the playlist rotation. +name english "Sabotage" // Name of the gametype. +script sab // Real gametype. +teambased +rule scr_sab_bombtimer 45 // Duration in seconds the bomb takes to detonate. +rule scr_sab_defusetime 5 // Time taken to defuse the bomb. +rule scr_sab_hotpotato 0 // One bomb that the teams must fight over. One defending and one have to plant at the site. +rule scr_sab_numlives 0 // Number of lives players get. +rule scr_sab_planttime 2.5 // Time taken to plant the bomb. +rule scr_sab_playerrespawndelay 7.5 // Time before respawn. +rule scr_sab_roundlimit 1 // Rounds per game. +rule scr_sab_Roundswitch 1 // Rounds needed to be played before the teams switch sides. +rule scr_sab_scorelimit 0 // Score limit to win the match. +rule scr_sab_timelimit 20 // Duration in minutes the game lasts if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_sab_waverespawndelay 0 // Time delay for first respawn before the game. +rule scr_sab_promode 0 + +gametype die_sab // Function for the playlist rotation. +name english "Die-Hard Sabotage" // Name of the gametype. +script sab // Real gametype. +teambased +rule scr_diehard 1 // Die hard mode. +rule scr_sab_bombtimer 45 // Duration in seconds the bomb takes to detonate. +rule scr_sab_defusetime 5 // Time taken to defuse the bomb. +rule scr_sab_hotpotato 0 // One bomb that the teams must fight over. One defending and one have to plant at the site. +rule scr_sab_numlives 0 // Number of lives players get. +rule scr_sab_planttime 2.5 // Time taken to plant the bomb. +rule scr_sab_playerrespawndelay 7.5 // Time before respawn. +rule scr_sab_roundlimit 1 // Rounds per game. +rule scr_sab_Roundswitch 1 // Rounds needed to be played before the teams switch sides. +rule scr_sab_scorelimit 0 // Score limit to win the match. +rule scr_sab_timelimit 20 // Duration in minutes the game lasts if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_sab_waverespawndelay 0 // Time delay for first respawn before the game. +rule scr_sab_promode 0 + +gametype hc_sab // Function for the playlist rotation. +name english "Hardcore Sabotage" // Name of the gametype. +script sab // Real gametype. +teambased +hardcore +rule scr_team_fftype 1 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_sab_bombtimer 45 // Duration in seconds the bomb takes to detonate. +rule scr_sab_defusetime 5 // Time taken to defuse the bomb. +rule scr_sab_hotpotato 0 // One bomb that the teams must fight over. One defending and one have to plant at the site. +rule scr_sab_numlives 0 // Number of lives players get. +rule scr_sab_planttime 2.5 // Time taken to plant the bomb. +rule scr_sab_playerrespawndelay 7.5 // Time before respawn. +rule scr_sab_roundlimit 1 // Rounds per game. +rule scr_sab_Roundswitch 1 // Rounds needed to be played before the teams switch sides. +rule scr_sab_scorelimit 0 // Score limit to win the match. +rule scr_sab_timelimit 20 // Duration in minutes the game lasts if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_sab_waverespawndelay 0 // Time delay for first respawn before the game. +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. +rule scr_sab_promode 0 + +////////////////////////////////////////// +// Search and Destroy Function Script // +////////////////////////////////////////// + +gametype sd // Function for the playlist rotation. +name english "Search and Destroy" // Name of the gametype. +script sd // Real gametype. +teambased +rule scr_sd_scorelimit 1 // Score limit required to win the game. +rule scr_sd_timelimit 2.5 // Time limit if the score limit isn't reached +rule scr_thirdperson 0 // 3rd person +rule scr_sd_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_sd_waverespawndelay 0 // Delay for first respawn. +rule scr_sd_numlives 1 // Number of lives per player per game. +rule scr_sd_roundlimit 0 // Rounds the game is limited to 0 for unlimited. +rule scr_sd_winlimit 4 // Amount of wins needed to win a round-based game +rule scr_sd_Roundswitch 1 // After X Rounds, switch sides +rule scr_sd_bombtimer 45 // Time taken for the bomb to detonate. +rule scr_sd_defusetime 5 // Time taken to defuse the bomb. +rule scr_sd_multibomb 0 // Allow multiple people to 'have the bomb' +rule scr_sd_planttime 5 +rule scr_sd_promode 0 + +gametype die_sd // Function for the playlist rotation. +name english "Die Hard Search and Destroy" // Name of the gametype. +script sd // Real gametype. +teambased +set scr_diehard 1 // Die Hard +rule scr_sd_scorelimit 1 // Score limit required to win the game. +rule scr_sd_timelimit 2.5 // Time limit if the score limit isn't reached +rule scr_thirdperson 0 // 3rd person +rule scr_sd_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_sd_waverespawndelay 0 // Delay for first respawn. +rule scr_sd_numlives 1 // Number of lives per player per game. +rule scr_sd_roundlimit 0 // Rounds the game is limited to 0 for unlimited. +rule scr_sd_winlimit 4 // Amount of wins needed to win a round-based game +rule scr_sd_Roundswitch 1 // After X Rounds, switch sides +rule scr_sd_bombtimer 45 // Time taken for the bomb to detonate. +rule scr_sd_defusetime 5 // Time taken to defuse the bomb. +rule scr_sd_multibomb 0 // Allow multiple people to 'have the bomb' +rule scr_sd_planttime 5 +rule scr_sd_promode 0 + +gametype hc_sd // Function for the playlist rotation. +name english "Hardcore Search and Destroy" // Name of the gametype. +script sd // Real gametype. +teambased +hardcore +rule scr_team_fftype 1 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. +rule scr_sd_scorelimit 1 // Score limit required to win the game. +rule scr_sd_timelimit 2.5 // Time limit if the score limit isn't reached +rule scr_thirdperson 0 // 3rd person +rule scr_sd_playerrespawndelay -1 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_sd_waverespawndelay 0 // Delay for first respawn. +rule scr_sd_numlives 1 // Number of lives per player per game. +rule scr_sd_roundlimit 0 // Rounds the game is limited to 0 for unlimited. +rule scr_sd_winlimit 4 // Amount of wins needed to win a round-based game +rule scr_sd_Roundswitch 1 // After X Rounds, switch sides +rule scr_sd_bombtimer 45 // Time taken for the bomb to detonate. +rule scr_sd_defusetime 5 // Time taken to defuse the bomb. +rule scr_sd_multibomb 0 // Allow multiple people to 'have the bomb' +rule scr_sd_planttime 5 +rule scr_sd_promode 0 + +////////////////////////////// +// Arena Function Script // +////////////////////////////// + +gametype arena // Function for the playlist rotation. +name english "Arena" // Name of the gametype. +script arena // Real gametype. +teambased +rule scr_arena_scorelimit 1 // Score limit to win the game. +rule scr_arena_timelimit 2.5 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_arena_numlives 1 // Number of lives per game 0 for unlimited. +rule scr_arena_roundlimit 0 // Rounds to be played. +rule scr_arena_Roundswitch 3 // Rounds before the teams switch sides. +rule scr_arena_winlimit 4 // Rounds per game +rule scr_arena_promode 0 + +gametype die_arena // Function for the playlist rotation. +name english "Die-Hard Arena" // Name of the gametype. +script arena // Real gametype. +teambased +set scr_diehard 1 // Die Hard +rule scr_arena_scorelimit 1 // Score limit to win the game. +rule scr_arena_timelimit 2.5 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_arena_numlives 1 // Number of lives per game 0 for unlimited. +rule scr_arena_roundlimit 0 // Rounds to be played. +rule scr_arena_Roundswitch 3 // Rounds before the teams switch sides. +rule scr_arena_winlimit 4 // Rounds per game +rule scr_arena_promode 0 + +gametype hc_arena // Function for the playlist rotation. +name english "Hardcore Arena" // Name of the gametype. +script arena // Real gametype. +teambased +hardcore +rule scr_team_fftype 1 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule scr_arena_scorelimit 1 // Score limit to win the game. +rule scr_arena_timelimit 2.5 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_arena_numlives 1 // Number of lives per game 0 for unlimited. +rule scr_arena_roundlimit 0 // Rounds to be played. +rule scr_arena_Roundswitch 3 // Rounds before the teams switch sides. +rule scr_arena_winlimit 4 // Rounds per game +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. +rule scr_arena_promode 0 + +////////////////////////////////// +// Demolition Function Script // +////////////////////////////////// + +gametype dd // Function for the playlist rotation. +name english "Demolition" // Name of the gametype. +script dd // Real gametype. +teambased +rule scr_dd_Roundswitch 1 // Rounds before the teams switch the sides. +rule scr_dd_scorelimit 2 // Score limit needed to win. +rule scr_dd_bombtimer 45 // Time the bomb takes to detonate. +rule scr_dd_defusetime 5 // Time taken to defuse the bomb. +rule scr_dd_extratime 3 +rule scr_dd_numlives 0 // Lives per player 0 for unlimited. +rule scr_dd_planttime 5 // Time it takes to plant a bomb in seconds. +rule scr_dd_roundlimit 3 // Rounds the game is limited to, if there are no winners. +rule scr_dd_timelimit 2.5 // Round time limit. +rule scr_thirdperson 0 // 3rd person +rule scr_dd_playerrespawndelay 0 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_dd_promode 0 + +gametype die_dd // Function for the playlist rotation. +name english "Die-hard Demolition" // Name of the gametype. +script dd // Real gametype. +teambased +set scr_diehard 1 // Die Hard +rule scr_dd_Roundswitch 1 // Rounds before the teams switch the sides. +rule scr_dd_scorelimit 2 // Score limit needed to win. +rule scr_dd_bombtimer 45 // Time the bomb takes to detonate. +rule scr_dd_defusetime 5 // Time taken to defuse the bomb. +rule scr_dd_extratime 3 +rule scr_dd_numlives 0 // Lives per player 0 for unlimited. +rule scr_dd_planttime 5 // Time it takes to plant a bomb in seconds. +rule scr_dd_roundlimit 3 // Rounds the game is limited to, if there are no winners. +rule scr_dd_timelimit 2.5 // Round time limit. +rule scr_thirdperson 0 // 3rd person +rule scr_dd_playerrespawndelay 0 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_dd_promode 0 + +gametype hc_dd // Function for the playlist rotation. +name english "Hardcore Demolition" // Name of the gametype. +script dd // Real gametype. +teambased +hardcore +rule scr_team_fftype 1 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule scr_dd_Roundswitch 1 // Rounds before the teams switch the sides. +rule scr_dd_scorelimit 2 // Score limit needed to win. +rule scr_dd_bombtimer 45 // Time the bomb takes to detonate. +rule scr_dd_defusetime 5 // Time taken to defuse the bomb. +rule scr_dd_extratime 3 +rule scr_dd_numlives 0 // Lives per player 0 for unlimited. +rule scr_dd_planttime 5 // Time it takes to plant a bomb in seconds. +rule scr_dd_roundlimit 3 // Rounds the game is limited to, if there are no winners. +rule scr_dd_timelimit 2.5 // Round time limit. +rule scr_thirdperson 0 // 3rd person +rule scr_dd_playerrespawndelay 0 // -1 is no respawn delay, 0 is automatic, > 0 is X seconds +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. +rule scr_dd_promode 0 + +////////////////////////////////////// +// Capture the Flag Function Script // +////////////////////////////////////// + +gametype ctf // Function for the playlist rotation. +name english "Capture the Flag" // Name of the gametype. +script ctf // Real gametype. +teambased +set scr_ctf_scorelimit 3 // Target score before the round ends. +set scr_ctf_timelimit 10 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +set scr_ctf_numlives 0 // Number of lives per player 0 for unlimited. +set scr_ctf_playerrespawndelay 0 // Respawn wait in seconds. +set scr_ctf_roundlimit 1 // How many Rounds match would last. +set scr_ctf_Roundswitch 1 // Rounds before the teams switch sides. +set scr_ctf_waverespawndelay 10 + +gametype hc_ctf // Function for the playlist rotation. +name english "Hardcore Capture the Flag" // Name of the gametype. +script ctf // Real gametype. +teambased +hardcore +rule scr_ctf_scorelimit 3 // Target score before the round ends. +rule scr_ctf_timelimit 10 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_ctf_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_ctf_playerrespawndelay 0 // Respawn wait in seconds. +rule scr_ctf_roundlimit 1 // How many Rounds match would last. +rule scr_ctf_Roundswitch 1 // Rounds before the teams switch sides. +rule scr_ctf_waverespawndelay 10 +rule scr_team_fftype 2 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. + +////////////////////////////////// +// One Flag Function Script // +////////////////////////////////// + +gametype one_flag // Function for the playlist rotation. +name english "One-Flag" // Name of the gametype. +script oneflag // Real gametype. +teambased +rule scr_oneflag_scorelimit 1 // Target score before the round ends. +rule scr_oneflag_timelimit 3 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_oneflag_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_oneflag_playerrespawndelay 0 // Respawn wait in seconds. +rule scr_oneflag_roundlimit 1 // How many Rounds match would last. +rule scr_oneflag_Roundswitch 1 // Rounds before the teams switch sides. +rule scr_ctf_waverespawndelay 0 + +gametype die_oneflag // Function for the playlist rotation. +name english "Die-hard One-Flag" // Name of the gametype. +script oneflag // Real gametype. +teambased +set scr_diehard 1 // Die Hard +rule scr_oneflag_scorelimit 1 // Target score before the round ends. +rule scr_oneflag_timelimit 3 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_oneflag_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_oneflag_playerrespawndelay 0 // Respawn wait in seconds. +rule scr_oneflag_roundlimit 1 // How many Rounds match would last. +rule scr_oneflag_Roundswitch 1 // Rounds before the teams switch sides. +rule scr_ctf_waverespawndelay 0 + +gametype hc_oneflag // Function for the playlist rotation. +name english "Hardcore One-Flag" // Name of the gametype. +script oneflag // Real gametype. +teambased +rule scr_oneflag_scorelimit 1 // Target score before the round ends. +rule scr_oneflag_timelimit 3 // Duration in minutes for the game to end if the score limit isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_oneflag_numlives 0 // Number of lives per player 0 for unlimited. +rule scr_oneflag_playerrespawndelay 0 // Respawn wait in seconds. +rule scr_oneflag_roundlimit 1 // How many Rounds match would last. +rule scr_oneflag_Roundswitch 1 // Rounds before the teams switch sides. +rule scr_team_fftype 2 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. +rule scr_ctf_waverespawndelay 0 + +////////////////////////////////////////////////// +// Global Thermonuclear War Function Script // +////////////////////////////////////////////////// + +gametype nuke // Function for the playlist rotation. +name english "Global Thermonuclear War" // Name of the gametype. +script gtnw // Real gametype. +teambased +rule scr_game_hardpoints 0 // Killstreaks +rule scr_gtnw_scorelimit 101 // Score limit to win the game. +rule scr_gtnw_timelimit 10 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_gtnw_numlives 0 // Number of lives per game 0 for unlimited. +rule scr_gtnw_playerrespawndelay 0 // Players respawn wait. +rule scr_gtnw_roundlimit 1 // Rounds to be played. +rule scr_gtnw_Roundswitch 0 // Rounds before the teams switch sides. +rule scr_gtnw_waverespawndelay 0 // First respawn delay for each round. +rule scr_gtnw_winlimit 1 // Rounds per game +rule scr_gtnw_promode 0 + +gametype die_nuke // Function for the playlist rotation. +name english "Die-Hard Thermonuclear War" // Name of the gametype. +script gtnw // Real gametype. +teambased +set scr_diehard 1 // Die Hard +rule scr_game_hardpoints 0 // Killstreaks +rule scr_gtnw_scorelimit 101 // Score limit to win the game. +rule scr_gtnw_timelimit 10 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_gtnw_numlives 0 // Number of lives per game 0 for unlimited. +rule scr_gtnw_playerrespawndelay 0 // Players respawn wait. +rule scr_gtnw_roundlimit 1 // Rounds to be played. +rule scr_gtnw_Roundswitch 0 // Rounds before the teams switch sides. +rule scr_gtnw_waverespawndelay 0 // First respawn delay for each round. +rule scr_gtnw_winlimit 1 // Rounds per game +rule scr_gtnw_promode 0 + +gametype hc_nuke // Function for the playlist rotation. +name english "Hardcore Thermonuclear War" // Name of the gametype. +script gtnw // Real gametype. +teambased +hardcore +rule scr_game_hardpoints 0 // Killstreaks +rule scr_gtnw_scorelimit 101 // Score limit to win the game. +rule scr_gtnw_timelimit 10 // Duration in minutes the game will continue if the score isn't reached. +rule scr_thirdperson 0 // 3rd person +rule scr_gtnw_numlives 0 // Number of lives per game 0 for unlimited. +rule scr_gtnw_playerrespawndelay 0 // Players respawn wait. +rule scr_gtnw_roundlimit 1 // Rounds to be played. +rule scr_gtnw_Roundswitch 0 // Rounds before the teams switch sides. +rule scr_gtnw_waverespawndelay 0 // First respawn delay for each round. +rule scr_gtnw_winlimit 1 // Rounds per game +rule scr_team_fftype 2 // Enable or Disable Friendly Fire. 1 = on, 2 = reflect, 3 = shared +rule scr_player_maxhealth 30 // Percent of Health players will have on Respawn. +rule scr_player_healthregentime 0 // Time it takes you to recover damage. +rule scr_game_Allowkillcam 1 // Allow Killcam. +rule scr_hardcore 1 // Enable or Disable Hardcore Mode. +rule ui_hud_hardcore 1 // Heads up display. +rule g_hardcore 1 // Enable or Disable Hardcore Mode. +rule scr_gtnw_promode 0 + +////////////////////////////////////////////////// +// MAP LIST // +////////////////////////////////////////////////// +// // +// mp_afghan - Afghan // +// mp_derail - Derail // +// mp_estate - Estate // +// mp_favela - Favela // +// mp_highrise - Highrise // +// mp_invasion - Invasion // +// mp_checkpoint - Karachi // +// mp_quarry - Quarry // +// mp_rundown - Rundown // +// mp_rust - Rust // +// mp_boneyard - Scrapyard // +// mp_nightshift - Skidrow // +// mp_subbase - Sub Base // +// mp_terminal - Terminal // +// mp_underpass - Underpass // +// mp_brecourt - Wasteland // +// // +//// DLC1 STIMULUS /////////////////////////////// +// // +// mp_complex - Bailout // +// mp_crash - Crash // +// mp_overgrown - Overgrown // +// mp_compact - Salvage // +// mp_storm - Storm // +// // +//// DLC2 RESURGENCE ///////////////////////////// +// // +// mp_abandon - Carnival // +// mp_fuel2 - Fuel // +// mp_strike - Strike // +// mp_trailerpark - Trailer Park // +// mp_vacant - Vacant // +// // +//// DLC3 NUKETOWN /////////////////////////////// +// // +// mp_nuked - Nuketown // +// // +/// DLC4 CLASSICS 1 ////////////////////////////// +// // +// mp_cross_fire - Crossfire // +// mp_bloc - Bloc // +// mp_cargoship - Cargoship // +// // +/// DLC5 CLASSICS 2 ////////////////////////////// +// // +// mp_killhouse - Killhouse // +// mp_bog_sh - Bog // +// // +/// DLC6 FREIGHTER /////////////////////////////// +// // +// mp_cargoship_sh - Freighter // +// // +/// DLC7 RESURRECTION //////////////////////////// +// // +// mp_shipment - Shipment // +// mp_shipment_long - Long:Shipment // +// mp_rust_long - Long: Rust // +// mp_firingrange - Firing Range // +// // +/// DLC8 RECYCLED //////////////////////////////// +// // +// mp_storm_spring - Chemical Plant // +// mp_fav_tropical - Tropical: Favela // +// mp_estate_tropical - Tropical: Estate // +// mp_crash_tropical - Tropical: Crash // +// mp_bloc_sh - Forgotten City // +// // +/// SP MAPS to MP //////////////////////////////// +// // +// oilrig - Oilrig // +// iw4_credits - Test map // +// co_hunted - Village // +// // +////////////////////////////////////////////////// +// GAMETYPE SCRIPT FUNCTION // +////////////////////////////////////////////////// +// Gametype Script Function // +// // +// tdm - Team Deathmatch // +// ffa - Free-for-all // +// dom - Domination // +// hq - Headquarters // +// sab - Sabotage // +// sd - Search and Destroy // +// arena - Arena // +// dd - Demolition // +// ctf - Capture the Flag // +// one_flag - One-Flag CTF // +// nuke - Global Thermo-Nuclear War // +// // +// format is // +// ,