From f8ccbf5f84c61dc0c6ba5b18b33a40dbb09962a4 Mon Sep 17 00:00:00 2001 From: Price Hiller Date: Wed, 11 Jan 2023 05:29:16 -0600 Subject: [PATCH] feat: initial setup for squadjs --- Dockerfile | 28 +- scripts/prepare-node14-yarn.bash | 367 ++++++++++++++ tester/Server.cfg | 75 +++ tester/ServerConfig/Admins.cfg | 109 +++++ tester/ServerConfig/Bans.cfg | 48 ++ tester/ServerConfig/CustomOptions.cfg | 23 + tester/ServerConfig/ExcludedFactionSetups.cfg | 10 + tester/ServerConfig/ExcludedFactions.cfg | 11 + tester/ServerConfig/ExcludedLayers.cfg | 37 ++ tester/ServerConfig/ExcludedLevels.cfg | 32 ++ tester/ServerConfig/LayerRotation.cfg | 452 ++++++++++++++++++ tester/ServerConfig/LevelRotation.cfg | 27 ++ tester/ServerConfig/License.cfg | 24 + tester/ServerConfig/MOTD.cfg | 91 ++++ tester/ServerConfig/Rcon.cfg | 43 ++ tester/ServerConfig/RemoteAdminListHosts.cfg | 1 + tester/ServerConfig/RemoteBanListHosts.cfg | 6 + tester/ServerConfig/Server.cfg | 75 +++ tester/ServerConfig/ServerMessages.cfg | 4 + tester/ServerConfig/VoteConfig.cfg | 34 ++ tester/docker-compose.yml | 15 + tester/storage/Admins.cfg | 109 +++++ tester/storage/Bans.cfg | 48 ++ tester/storage/CustomOptions.cfg | 23 + tester/storage/ExcludedFactionSetups.cfg | 10 + tester/storage/ExcludedFactions.cfg | 11 + tester/storage/ExcludedLayers.cfg | 37 ++ tester/storage/ExcludedLevels.cfg | 32 ++ tester/storage/LayerRotation.cfg | 452 ++++++++++++++++++ tester/storage/LevelRotation.cfg | 27 ++ tester/storage/MOTD.cfg | 91 ++++ tester/storage/Rcon.cfg | 42 ++ tester/storage/RemoteAdminListHosts.cfg | 1 + tester/storage/RemoteBanListHosts.cfg | 6 + tester/storage/ServerMessages.cfg | 4 + tester/storage/VoteConfig.cfg | 34 ++ 36 files changed, 2438 insertions(+), 1 deletion(-) create mode 100644 scripts/prepare-node14-yarn.bash create mode 100755 tester/Server.cfg create mode 100644 tester/ServerConfig/Admins.cfg create mode 100644 tester/ServerConfig/Bans.cfg create mode 100644 tester/ServerConfig/CustomOptions.cfg create mode 100644 tester/ServerConfig/ExcludedFactionSetups.cfg create mode 100644 tester/ServerConfig/ExcludedFactions.cfg create mode 100644 tester/ServerConfig/ExcludedLayers.cfg create mode 100644 tester/ServerConfig/ExcludedLevels.cfg create mode 100644 tester/ServerConfig/LayerRotation.cfg create mode 100644 tester/ServerConfig/LevelRotation.cfg create mode 100644 tester/ServerConfig/License.cfg create mode 100644 tester/ServerConfig/MOTD.cfg create mode 100644 tester/ServerConfig/Rcon.cfg create mode 100644 tester/ServerConfig/RemoteAdminListHosts.cfg create mode 100644 tester/ServerConfig/RemoteBanListHosts.cfg create mode 100644 tester/ServerConfig/Server.cfg create mode 100644 tester/ServerConfig/ServerMessages.cfg create mode 100644 tester/ServerConfig/VoteConfig.cfg create mode 100644 tester/docker-compose.yml create mode 100755 tester/storage/Admins.cfg create mode 100755 tester/storage/Bans.cfg create mode 100755 tester/storage/CustomOptions.cfg create mode 100755 tester/storage/ExcludedFactionSetups.cfg create mode 100755 tester/storage/ExcludedFactions.cfg create mode 100755 tester/storage/ExcludedLayers.cfg create mode 100755 tester/storage/ExcludedLevels.cfg create mode 100755 tester/storage/LayerRotation.cfg create mode 100755 tester/storage/LevelRotation.cfg create mode 100755 tester/storage/MOTD.cfg create mode 100644 tester/storage/Rcon.cfg create mode 100755 tester/storage/RemoteAdminListHosts.cfg create mode 100755 tester/storage/RemoteBanListHosts.cfg create mode 100755 tester/storage/ServerMessages.cfg create mode 100755 tester/storage/VoteConfig.cfg diff --git a/Dockerfile b/Dockerfile index cf42bfc..6b74567 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,7 @@ FROM asgard.orion-technologies.io/steamcmd:1.0 AS build LABEL maintainer="price@orion-technologies.io" +ARG squad_js_version="3.6.1" ENV STEAM_APP_ID=403240 ENV STEAM_BETA_APP_ID=774961 ENV WORKSHOP_ID=393380 @@ -21,7 +22,32 @@ ENV GAMEPORT=7787 \ FIXEDMAXTICKRATE=40 \ RANDOM=NONE -COPY --chown=${USER} ./scripts/entry.bash "${USER_HOME}/entry.bash" +COPY --chown=${USER}:${USER} --chmod=0755 ./scripts/entry.bash "${USER_HOME}/entry.bash" +COPY --chown=root:root --chmod=0755 ./scripts/prepare-node14-yarn.bash /root/prepare-node14-yarn.bash + +RUN <<__EOR__ +apt-get update +# Requirements for node +apt-get install -y --no-install-suggests --no-install-recommends \ + lsb-release=11.1.0 \ + apt-transport-https=2.2.4 \ + gnupg=2.2.27-2+deb11u2 \ + sqlite=3.34.1-3 + +/bin/bash /root/prepare-node14-yarn.bash + +apt-get remove --purge --auto-remove -y +rm -rf /var/lib/apt/lists/* /root/prepare-node14-yarn.bash + +( + mkdir -p "${SQUAD_SERVER_DIR}" + cd "${SQUAD_SERVER_DIR}" || exit 1 + curl -L0 https://github.com/Team-Silver-Sphere/SquadJS/refs/tags/v${squad_js_version}.tar.gz --output squad-js-${squad_js_version}.tar.gz + tar -xf squad-js-${squad_js_version}.tar.gz + mv SquadJS-${squad_js_version} SquadJS +) + +__EOR__ FROM build AS prod SHELL [ "/bin/bash" ] diff --git a/scripts/prepare-node14-yarn.bash b/scripts/prepare-node14-yarn.bash new file mode 100644 index 0000000..470e8af --- /dev/null +++ b/scripts/prepare-node14-yarn.bash @@ -0,0 +1,367 @@ +#!/bin/bash + +# Discussion, issues and change requests at: +# https://github.com/nodesource/distributions +# +# Script to install the NodeSource Node.js 14.x repo onto a +# Debian or Ubuntu system. +# +# Run as root or insert `sudo -E` before `bash`: +# +# curl -sL https://deb.nodesource.com/setup_14.x | bash - +# or +# wget -qO- https://deb.nodesource.com/setup_14.x | bash - +# +# CONTRIBUTIONS TO THIS SCRIPT +# +# This script is built from a template in +# https://github.com/nodesource/distributions/tree/master/deb/src +# please don't submit pull requests against the built scripts. +# + + +export DEBIAN_FRONTEND=noninteractive +SCRSUFFIX="_14.x" +NODENAME="Node.js 14.x" +NODEREPO="node_14.x" +NODEPKG="nodejs" + +print_status() { + echo + echo "## $1" + echo +} + +if test -t 1; then # if terminal + ncolors=$(which tput > /dev/null && tput colors) # supports color + if test -n "$ncolors" && test $ncolors -ge 8; then + termcols=$(tput cols) + bold="$(tput bold)" + underline="$(tput smul)" + standout="$(tput smso)" + normal="$(tput sgr0)" + black="$(tput setaf 0)" + red="$(tput setaf 1)" + green="$(tput setaf 2)" + yellow="$(tput setaf 3)" + blue="$(tput setaf 4)" + magenta="$(tput setaf 5)" + cyan="$(tput setaf 6)" + white="$(tput setaf 7)" + fi +fi + +print_bold() { + title="$1" + text="$2" + + echo + echo "${red}================================================================================${normal}" + echo "${red}================================================================================${normal}" + echo + echo -e " ${bold}${yellow}${title}${normal}" + echo + echo -en " ${text}" + echo + echo "${red}================================================================================${normal}" + echo "${red}================================================================================${normal}" +} + +bail() { + echo 'Error executing command, exiting' + exit 1 +} + +exec_cmd_nobail() { + echo "+ $1" + bash -c "$1" +} + +exec_cmd() { + exec_cmd_nobail "$1" || bail +} + +node_deprecation_warning() { + if [[ "X${NODENAME}" == "Xio.js 1.x" || + "X${NODENAME}" == "Xio.js 2.x" || + "X${NODENAME}" == "Xio.js 3.x" || + "X${NODENAME}" == "XNode.js 0.10" || + "X${NODENAME}" == "XNode.js 0.12" || + "X${NODENAME}" == "XNode.js 4.x LTS Argon" || + "X${NODENAME}" == "XNode.js 5.x" || + "X${NODENAME}" == "XNode.js 6.x LTS Boron" || + "X${NODENAME}" == "XNode.js 7.x" || + "X${NODENAME}" == "XNode.js 8.x LTS Carbon" || + "X${NODENAME}" == "XNode.js 9.x" || + "X${NODENAME}" == "XNode.js 10.x" || + "X${NODENAME}" == "XNode.js 11.x" || + "X${NODENAME}" == "XNode.js 12.x" || + "X${NODENAME}" == "XNode.js 13.x" || + "X${NODENAME}" == "XNode.js 15.x" || + "X${NODENAME}" == "XNode.js 17.x" ]]; then + + print_bold \ +" DEPRECATION WARNING " "\ +${bold}${NODENAME} is no longer actively supported!${normal} + + ${bold}You will not receive security or critical stability updates${normal} for this version. + + You should migrate to a supported version of Node.js as soon as possible. + Use the installation script that corresponds to the version of Node.js you + wish to install. e.g. + + * ${green}https://deb.nodesource.com/setup_14.x — Node.js 14 \"Fermium\"${normal} + * ${green}https://deb.nodesource.com/setup_16.x — Node.js 16 \"Gallium\"${normal} + * ${green}https://deb.nodesource.com/setup_18.x — Node.js 18 LTS \"Hydrogen\"${normal} (recommended) + * ${green}https://deb.nodesource.com/setup_19.x — Node.js 19 \"Nineteen\"${normal} (current) + + Please see ${bold}https://github.com/nodejs/Release${normal} for details about which + version may be appropriate for you. + + The ${bold}NodeSource${normal} Node.js distributions repository contains + information both about supported versions of Node.js and supported Linux + distributions. To learn more about usage, see the repository: + ${bold}https://github.com/nodesource/distributions${normal} +" + echo + echo "Continuing in 20 seconds ..." + echo + sleep 20 + fi +} + +script_deprecation_warning() { + if [ "X${SCRSUFFIX}" == "X" ]; then + print_bold \ +" SCRIPT DEPRECATION WARNING " "\ +This script, located at ${bold}https://deb.nodesource.com/setup${normal}, used to + install Node.js 0.10, is deprecated and will eventually be made inactive. + + You should use the script that corresponds to the version of Node.js you + wish to install. e.g. + + * ${green}https://deb.nodesource.com/setup_14.x — Node.js 14 \"Fermium\"${normal} + * ${green}https://deb.nodesource.com/setup_16.x — Node.js 16 \"Gallium\"${normal} + * ${green}https://deb.nodesource.com/setup_18.x — Node.js 18 LTS \"Hydrogen\"${normal} (recommended) + * ${green}https://deb.nodesource.com/setup_19.x — Node.js 19 \"Nineteen\"${normal} (current) + + Please see ${bold}https://github.com/nodejs/Release${normal} for details about which + version may be appropriate for you. + + The ${bold}NodeSource${normal} Node.js Linux distributions GitHub repository contains + information about which versions of Node.js and which Linux distributions + are supported and how to use the install scripts. + ${bold}https://github.com/nodesource/distributions${normal} +" + + echo + echo "Continuing in 20 seconds (press Ctrl-C to abort) ..." + echo + sleep 20 + fi +} + +setup() { + +script_deprecation_warning +node_deprecation_warning + +print_status "Installing the NodeSource ${NODENAME} repo..." + +if $(uname -m | grep -Eq ^armv6); then + print_status "You appear to be running on ARMv6 hardware. Unfortunately this is not currently supported by the NodeSource Linux distributions. Please use the 'linux-armv6l' binary tarballs available directly from nodejs.org for Node.js 4 and later." + exit 1 +fi + +PRE_INSTALL_PKGS="" + +# Check that HTTPS transport is available to APT +# (Check snaked from: https://get.docker.io/ubuntu/) + +if [ ! -e /usr/lib/apt/methods/https ]; then + PRE_INSTALL_PKGS="${PRE_INSTALL_PKGS} apt-transport-https" +fi + +if [ ! -x /usr/bin/lsb_release ]; then + PRE_INSTALL_PKGS="${PRE_INSTALL_PKGS} lsb-release" +fi + +if [ ! -x /usr/bin/curl ] && [ ! -x /usr/bin/wget ]; then + PRE_INSTALL_PKGS="${PRE_INSTALL_PKGS} curl" +fi + +# Used by apt-key to add new keys + +if [ ! -x /usr/bin/gpg ]; then + PRE_INSTALL_PKGS="${PRE_INSTALL_PKGS} gnupg" +fi + +# Populating Cache +print_status "Populating apt-get cache..." +exec_cmd 'apt-get update' + +if [ "X${PRE_INSTALL_PKGS}" != "X" ]; then + print_status "Installing packages required for setup:${PRE_INSTALL_PKGS}..." + # This next command needs to be redirected to /dev/null or the script will bork + # in some environments + exec_cmd "apt-get install -y${PRE_INSTALL_PKGS} > /dev/null 2>&1" +fi + +IS_PRERELEASE=$(lsb_release -d | grep 'Ubuntu .*development' >& /dev/null; echo $?) +if [[ $IS_PRERELEASE -eq 0 ]]; then + print_status "Your distribution, identified as \"$(lsb_release -d -s)\", is a pre-release version of Ubuntu. NodeSource does not maintain official support for Ubuntu versions until they are formally released. You can try using the manual installation instructions available at https://github.com/nodesource/distributions and use the latest supported Ubuntu version name as the distribution identifier, although this is not guaranteed to work." + exit 1 +fi + +DISTRO=$(lsb_release -c -s) + +check_alt() { + if [ "X${DISTRO}" == "X${2}" ]; then + echo + echo "## You seem to be using ${1} version ${DISTRO}." + echo "## This maps to ${3} \"${4}\"... Adjusting for you..." + DISTRO="${4}" + fi +} + +check_alt "Astra Linux" "orel" "Debian" "stretch" +check_alt "BOSS" "anokha" "Debian" "wheezy" +check_alt "BOSS" "anoop" "Debian" "jessie" +check_alt "BOSS" "drishti" "Debian" "stretch" +check_alt "BOSS" "unnati" "Debian" "buster" +check_alt "BOSS" "urja" "Debian" "bullseye" +check_alt "bunsenlabs" "bunsen-hydrogen" "Debian" "jessie" +check_alt "bunsenlabs" "helium" "Debian" "stretch" +check_alt "bunsenlabs" "lithium" "Debian" "buster" +check_alt "Devuan" "jessie" "Debian" "jessie" +check_alt "Devuan" "ascii" "Debian" "stretch" +check_alt "Devuan" "beowulf" "Debian" "buster" +check_alt "Devuan" "chimaera" "Debian" "bullseye" +check_alt "Devuan" "ceres" "Debian" "sid" +check_alt "Deepin" "panda" "Debian" "sid" +check_alt "Deepin" "unstable" "Debian" "sid" +check_alt "Deepin" "stable" "Debian" "buster" +check_alt "Deepin" "apricot" "Debian" +check_alt "elementaryOS" "luna" "Ubuntu" "precise" +check_alt "elementaryOS" "freya" "Ubuntu" "trusty" +check_alt "elementaryOS" "loki" "Ubuntu" "xenial" +check_alt "elementaryOS" "juno" "Ubuntu" "bionic" +check_alt "elementaryOS" "hera" "Ubuntu" "bionic" +check_alt "elementaryOS" "odin" "Ubuntu" "focal" +check_alt "elementaryOS" "jolnir" "Ubuntu" "focal" +check_alt "Kali" "sana" "Debian" "jessie" +check_alt "Kali" "kali-rolling" "Debian" "bullseye" +check_alt "Linux Mint" "maya" "Ubuntu" "precise" +check_alt "Linux Mint" "qiana" "Ubuntu" "trusty" +check_alt "Linux Mint" "rafaela" "Ubuntu" "trusty" +check_alt "Linux Mint" "rebecca" "Ubuntu" "trusty" +check_alt "Linux Mint" "rosa" "Ubuntu" "trusty" +check_alt "Linux Mint" "sarah" "Ubuntu" "xenial" +check_alt "Linux Mint" "serena" "Ubuntu" "xenial" +check_alt "Linux Mint" "sonya" "Ubuntu" "xenial" +check_alt "Linux Mint" "sylvia" "Ubuntu" "xenial" +check_alt "Linux Mint" "tara" "Ubuntu" "bionic" +check_alt "Linux Mint" "tessa" "Ubuntu" "bionic" +check_alt "Linux Mint" "tina" "Ubuntu" "bionic" +check_alt "Linux Mint" "tricia" "Ubuntu" "bionic" +check_alt "Linux Mint" "ulyana" "Ubuntu" "focal" +check_alt "Linux Mint" "ulyssa" "Ubuntu" "focal" +check_alt "Linux Mint" "uma" "Ubuntu" "focal" +check_alt "Linux Mint" "una" "Ubuntu" "focal" +check_alt "Linux Mint" "vanessa" "Ubuntu" "jammy" +check_alt "Linux Mint" "vera" "Ubuntu" "jammy" +check_alt "Liquid Lemur" "lemur-3" "Debian" "stretch" +check_alt "LMDE" "betsy" "Debian" "jessie" +check_alt "LMDE" "cindy" "Debian" "stretch" +check_alt "LMDE" "debbie" "Debian" "buster" +check_alt "LMDE" "elsie" "Debian" "bullseye" +check_alt "MX Linux 17" "Horizon" "Debian" "stretch" +check_alt "MX Linux 18" "Continuum" "Debian" "stretch" +check_alt "MX Linux 19" "patito feo" "Debian" "buster" +check_alt "MX Linux 21" "wildflower" "Debian" "bullseye" +check_alt "Pardus" "onyedi" "Debian" "stretch" +check_alt "Parrot" "ara" "Debian" "bullseye" +check_alt "PureOS" "green" "Debian" "sid" +check_alt "PureOS" "amber" "Debian" "buster" +check_alt "PureOS" "byzantium" "Debian" "bullseye" +check_alt "SolydXK" "solydxk-9" "Debian" "stretch" +check_alt "Sparky Linux" "Tyche" "Debian" "stretch" +check_alt "Sparky Linux" "Nibiru" "Debian" "buster" +check_alt "Sparky Linux" "Po-Tolo" "Debian" "bullseye" +check_alt "Tanglu" "chromodoris" "Debian" "jessie" +check_alt "Trisquel" "toutatis" "Ubuntu" "precise" +check_alt "Trisquel" "belenos" "Ubuntu" "trusty" +check_alt "Trisquel" "flidas" "Ubuntu" "xenial" +check_alt "Trisquel" "etiona" "Ubuntu" "bionic" +check_alt "Ubilinux" "dolcetto" "Debian" "stretch" +check_alt "Uruk GNU/Linux" "lugalbanda" "Ubuntu" "xenial" + +if [ "X${DISTRO}" == "Xdebian" ]; then + print_status "Unknown Debian-based distribution, checking /etc/debian_version..." + NEWDISTRO=$([ -e /etc/debian_version ] && cut -d/ -f1 < /etc/debian_version) + if [ "X${NEWDISTRO}" == "X" ]; then + print_status "Could not determine distribution from /etc/debian_version..." + else + DISTRO=$NEWDISTRO + print_status "Found \"${DISTRO}\" in /etc/debian_version..." + fi +fi + +print_status "Confirming \"${DISTRO}\" is supported..." + +if [ -x /usr/bin/curl ]; then + exec_cmd_nobail "curl -sLf -o /dev/null 'https://deb.nodesource.com/${NODEREPO}/dists/${DISTRO}/Release'" + RC=$? +else + exec_cmd_nobail "wget -qO /dev/null -o /dev/null 'https://deb.nodesource.com/${NODEREPO}/dists/${DISTRO}/Release'" + RC=$? +fi + +if [[ $RC != 0 ]]; then + print_status "Your distribution, identified as \"${DISTRO}\", is not currently supported, please contact NodeSource at https://github.com/nodesource/distributions/issues if you think this is incorrect or would like your distribution to be considered for support" + exit 1 +fi + +if [ -f "/etc/apt/sources.list.d/chris-lea-node_js-$DISTRO.list" ]; then + print_status 'Removing Launchpad PPA Repository for NodeJS...' + + exec_cmd_nobail 'add-apt-repository -y -r ppa:chris-lea/node.js' + exec_cmd "rm -f /etc/apt/sources.list.d/chris-lea-node_js-${DISTRO}.list" +fi + +print_status 'Adding the NodeSource signing key to your keyring...' +keyring='/usr/share/keyrings' +node_key_url="https://deb.nodesource.com/gpgkey/nodesource.gpg.key" +local_node_key="$keyring/nodesource.gpg" + +if [ -x /usr/bin/curl ]; then + exec_cmd "curl -s $node_key_url | gpg --dearmor | tee $local_node_key >/dev/null" +else + exec_cmd "wget -q -O - $node_key_url | gpg --dearmor | tee $local_node_key >/dev/null" +fi + +print_status "Creating apt sources list file for the NodeSource ${NODENAME} repo..." + +exec_cmd "echo 'deb [signed-by=$local_node_key] https://deb.nodesource.com/${NODEREPO} ${DISTRO} main' > /etc/apt/sources.list.d/nodesource.list" +exec_cmd "echo 'deb-src [signed-by=$local_node_key] https://deb.nodesource.com/${NODEREPO} ${DISTRO} main' >> /etc/apt/sources.list.d/nodesource.list" + +print_status 'Running `apt-get update` for you...' + +exec_cmd 'apt-get update' + +yarn_site='https://dl.yarnpkg.com/debian' +yarn_key_url="$yarn_site/pubkey.gpg" +local_yarn_key="$keyring/yarnkey.gpg" + + +exec_cmd "curl -sL $yarn_key_url | gpg --dearmor | tee $local_yarn_key >/dev/null" +exec_cmd "echo 'deb [signed-by=$local_yarn_key] $yarn_site stable main' | tee /etc/apt/sources.list.d/yarn.list" +print_status """Run \`${bold}apt-get install -y ${NODEPKG}${normal}\` to install ${NODENAME} and npm +## You may also need development tools to build native addons: + apt-get install gcc g++ make +""" + +} + +## Defer setup until we have the complete script +setup diff --git a/tester/Server.cfg b/tester/Server.cfg new file mode 100755 index 0000000..72caf1a --- /dev/null +++ b/tester/Server.cfg @@ -0,0 +1,75 @@ +ServerName="[ASG] Asgard Eternal | New player friendly" + +// Control visibility in the server browser +ShouldAdvertise="true" + +// Set the server to LAN mode +IsLANMatch="false" + +// Max player count on the server +MaxPlayers="100" + +// Number of reserved slots for admins / members +NumReservedSlots="2" + +// Size of the server queuing, for regular user +PublicQueueLimit="25" + +// Map rotation mode: it can be +// LevelList(use order in level rotation config file) + LayerList (use order in layer rotation config file) +// or +// LevelList_Randomized +// LayerList_Randomized +// which are randomized version of previous options +MapRotationMode="LayerList" + +// Should the Map/Layer rotations list be randomized at start? +RandomizeAtStart="false" + +// Should Faction be voted for on generic layers? Randomized if false. +UseVoteFactions="false" + +// Should next Map be voted for at end of round? +UseVoteLevel="false" + +// Should next Layer be voted for at end of round? +UseVoteLayer="false" + +// Completly Allow or Disallow Team change to all players. Only user with Level_Balance access level can bypass this flag +AllowTeamChanges="true" + +// If set to false, players can change teams regardless of team balance. Otherwise, the NumPlayersDiffForTeamChanges Value is used +PreventTeamChangeIfUnbalanced="true" + +// Maximum Allowed difference in player count between teams. This takes into account the team the player leaves and the team the player joins +NumPlayersDiffForTeamChanges="2" + +RejoinSquadDelayAfterKick="180" +RecordDemos="true" + +// Whether public clients are allowed to record. +// If you do not want public clients to record, but you do want to allow certain ones to, you can give the admin access level "ClientDemos". +// There is a difference between "ClientDemos" and "Demos". "Demos" allows access to server commands for recording server-sided demos, while "ClientDemos" only allows clientside demos (no admin commands) +AllowPublicClientsToRecord="false" + +ServerMessageInterval="1200" + +// Forces the server to do non-seamless travel (disconnect when changing maps) every X seconds +// ForceNonSeamlessTravelIntervalSeconds=43200 + +// The following are required for Licensed servers, but can be changed for non-licensed servers +TKAutoKickEnabled="True" +AutoTKBanNumberTKs="7" +AutoTKBanTime="3600" +VehicleKitRequirementDisabled="false" +AllowCommunityAdminAccess="true" + +// Only Offworld Industries developers are admins +AllowDevProfiling="true" + +AllowQA="true" + +// The below commands are optional for all servers +VehicleClaimingDisabled="false" + diff --git a/tester/ServerConfig/Admins.cfg b/tester/ServerConfig/Admins.cfg new file mode 100644 index 0000000..551d3bf --- /dev/null +++ b/tester/ServerConfig/Admins.cfg @@ -0,0 +1,109 @@ +///////////////////////////////////////////////////////////////////////////////////////////// +//// Valid access levels are as follows +//// startvote - not used +//// changemap +//// pause - Pause server gameplay +//// cheat - Use server cheat commands +//// private - Password protect server +//// balance - Group Ignores server team balance +//// chat - Admin chat and Server broadcast +//// kick +//// ban +//// config - Change server config +//// cameraman - Admin spectate mode +//// immune - Cannot be kicked / banned +//// manageserver - Shutdown server +//// featuretest - Any features added for testing by dev team +//// reserve - Reserve slot +//// demos - Record Demos on the server side via admin commands +//// clientdemos - Record Demos on the client side via commands or the replay UI. +//// debug - show admin stats command and other debugging info +//// teamchange - No timer limits on team change +//// forceteamchange - Can issue the ForceTeamChange command +//// canseeadminchat - This group can see the admin chat and teamkill/admin-join notifications +///////////////////////////////////////////////////////////////////////////////////////////// + +///////////////////////////////////////////////////////////////////////////////////////////// +// The Format for adding groups is: +// Group=:,, +// +// For example: +// Group=MyGroup: pause, demos, changemap +// +// The groups below are the defaults, add to or change them as needed: +///////////////////////////////////////////////////////////////////////////////////////////// + +Group=Odin:changemap,balance,chat,kick,ban,cameraman,teamchange,forceteamchange,canseeadminchat,reserve,config +Group=SrAdmin:changemap,balance,chat,kick,ban,cameraman,teamchange,forceteamchange,canseeadminchat,reserve +Group=JrAdmin:balance,chat,kick,ban,teamchange,canseeadminchat,reserve +Group=whitelist:reserve + +///////////////////////////////////////////////////////////////////////////////////////////// +// The format for adding admins is: +// Admin=: +// +// For example: +// Admin=123456:Admin // Adam the admin +// Admin=654321:Moderator // Molly the moderator +// +// Add your own below: +///////////////////////////////////////////////////////////////////////////////////////////// +Admin=76561197986710399:Odin // Kinsher +Admin=76561199101367413:Odin // Atrocity +Admin=76561198153769543:Odin // MaxRecon +Admin=76561198067016254:Odin // SheHulk +Admin=76561198404402665:Odin // Malinoff +Admin=76561198339174737:SrAdmin // Frizz +Admin=76561198073942737:Odin // Someoneulove +Admin=76561198373523022:SrAdmin // Lt_Longsword +Admin=76561199201845769:SrAdmin // Buddy +Admin=76561198015328506:SrAdmin // Ray +Admin=76561198329170534:SrAdmin // Freeman +Admin=76561198855097026:Odin // SooperGloo +Admin=76561199018771290:SrAdmin // Omega +Admin=76561198046579272:SrAdmin // Coiffee +Admin=76561198356666755:Odin // Teggy +Admin=76561198203568744:SrAdmin // Elon +Admin=76561198799111045:SrAdmin // Kin_Seward +Admin=76561198206734757:SrAdmin // RangerSix +Admin=76561199094282718:SrAdmin // Epimetheus +Admin=76561198001193856:Odin // Xikky +Admin=76561199028579724:Odin // iiTherRealMcCoy +Admin=76561199127559778:SrAdmin // Chemji +Admin=76561198059250541:SrAdmin // Mirage40K +Admin=76561198081576045:srAdmin // Rabbid_Squirrel +Admin=76561198124658412:SrAdmin // Sweetwater +Admin=76561198107367726:SrAdmin // wolf.rayne + +// Whitelist Group +Admin=76561198026192477:Whitelist // LtJamesFox +Admin=76561198059124012:Whitelist // tcandan88(4skin) - ducati979@aol.com +Admin=76561199062085282:Whitelist // Dick Deflator +Admin=76561198059462064:Whitelist // Bagels - adroessler10@gmail.com +Admin=76561198119385943:Whitelist // Hypothermiack +Admin=76561199123384670:Whitelist // TapatioTimmy - camdenricketts4@gmail.com +Admin=76561199285813056:Whitelist // TheGoochSlooth - justintestorelli@gmail.com +Admin=76561197963075020:Whitelist // Subterfuge - jwlind@gmail.com +Admin=76561198128034210:Whitelist // Kybar - carbarykyle@gmail.com +Admin=76561198049739312;Whitelist // Juggernaut - robledoaustin@yahoo.com +Admin=76561197979663830:Whitelist // DamiSupreme - alexdemiane93@gmail.com +Admin=76561199241025555:Whitelist // Dang Li Wang - n.hinesly0602@gmail.com +Admin=76561199241627472:Whitelist // Jenna Tools - n.hinesly0602@gmail.com + +// [CAS] Community +Admin=76561198445511381:Whitelist // Albertime +Admin=76561198094918611:Whitelist // JF +Admin=76561198153409985:Whitelist // Jashy +Admin=76561198150626482:Whitelist // Oscar +Admin=76561198248146940:Whitelist // Skay + +// [HC] Community +Admin=76561198043032389:Whitelist // Sir Peabody +Admin=76561197982328479:Whitelist // Kameron +Admin=76561198101099268:Whitelist // Evans +Admin=76561198302683791:Whitelist // BClani +Admin=76561198191984002:Whitelist // Skeebler + +//『SLT』Community +Admin=76561198149412908:Whitelist // EnderDevs +Admin=76561198448114730:Whitelist // JoeBrandonCheated diff --git a/tester/ServerConfig/Bans.cfg b/tester/ServerConfig/Bans.cfg new file mode 100644 index 0000000..091467d --- /dev/null +++ b/tester/ServerConfig/Bans.cfg @@ -0,0 +1,48 @@ +N/A Banned:76561199405442900:1667714524 //Automatic Teamkill Kick +N/A Banned:76561198059250541:1668141424 //Automatic Teamkill Kick +N/A Banned:76561198148769258:1668230277 //Automatic Teamkill Kick +N/A Banned:76561199388285915:1668239327 //Automatic Teamkill Kick +N/A Banned:76561198439128612:1668304426 //Automatic Teamkill Kick +N/A Banned:76561198417943566:1668304731 //Automatic Teamkill Kick +N/A Banned:76561199094462146:1668306144 //Automatic Teamkill Kick +N/A Banned:76561198835580857:1668377354 //Automatic Teamkill Kick +N/A Banned:76561198259419557:1668379114 //Automatic Teamkill Kick +N/A Banned:76561199018088874:1668408559 //Automatic Teamkill Kick +N/A Banned:76561199050057768:1668497248 //Automatic Teamkill Kick +N/A Banned:76561198881916014:1668568999 //Automatic Teamkill Kick +N/A Banned:76561198881916014:1668568999 //Automatic Teamkill Kick +N/A Banned:76561198360652170:1668582584 //Automatic Teamkill Kick +N/A Banned:76561199000113460:1669166782 //Automatic Teamkill Kick +N/A Banned:76561197996356716:1670560397 //Automatic Teamkill Kick +N/A Banned:76561198056113440:1670745135 //Automatic Teamkill Kick +N/A Banned:76561198032316772:1670813490 //Automatic Teamkill Kick +N/A Banned:76561198122076586:1670825913 //Automatic Teamkill Kick +N/A Banned:76561198122076586:1670825913 //Automatic Teamkill Kick +N/A Banned:76561198122076586:1670825913 //Automatic Teamkill Kick +N/A Banned:76561199197083951:1670986314 //Automatic Teamkill Kick +N/A Banned:76561199108480380:1671084273 //Automatic Teamkill Kick +N/A Banned:76561199286188264:1671256821 //Automatic Teamkill Kick +N/A Banned:76561199377023376:1671768811 //Automatic Teamkill Kick +N/A Banned:76561198173435573:1671860253 //Automatic Teamkill Kick +N/A Banned:76561198334281545:1671860359 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561199092456239:1671957266 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198976927351:1672040509 //Automatic Teamkill Kick +N/A Banned:76561198099687994:0 //R1. - Racism, sexism, homophobia, antisemitism, religious or political intolerance, or any other form of discrimination will not be tolerated. Discord.gg/asg +N/A Banned:76561199193146972:1672557986 //Automatic Teamkill Kick +N/A Banned:76561198065169905:1672709281 //Automatic Teamkill Kick +N/A Banned:76561198065169905:1672709281 //Automatic Teamkill Kick +N/A Banned:76561199224307830:1672899496 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561199362207481:1673080316 //Automatic Teamkill Kick diff --git a/tester/ServerConfig/CustomOptions.cfg b/tester/ServerConfig/CustomOptions.cfg new file mode 100644 index 0000000..8ef6382 --- /dev/null +++ b/tester/ServerConfig/CustomOptions.cfg @@ -0,0 +1,23 @@ +# Here you can control mod-specific server settings. Mods can use blueprint node "GetCustomServerSetting" to gather the contents of this file. +# This section used to exist in server.cfg + +// Amount of players needed to start Pre-Live countdown, integer. Default=50. +#SeedPlayersThreshold=50 + +// After reaching the SeedPlayersThreshold, if some players disconnect but the current player count stays at or above this value, don’t stop the +// Pre-Live countdown, integer. Should be greater than zero and less than SeedPlayersThreshold to be considered enabled. default=45. +#SeedMinimumPlayersToLive=45 + +// Match length in seconds, integer. Default=21600 (6 hours) +#SeedMatchLengthSeconds=21600 + +// Enable or Disable availability of all kits during seeding phase, boolean (valid values are 0 and 1), default=1 +#SeedAllKitsAvailable=1 + +// Initial number of tickets for both teams, integer. Default=100 +#SeedInitialTickets=100 + +// Length of the pre-live countdown, float. Default=60.0 +#SeedSecondsBeforeLive=60.0 + +// All default values listed above will be used if the corresponding setting is not present on config file or commented out. \ No newline at end of file diff --git a/tester/ServerConfig/ExcludedFactionSetups.cfg b/tester/ServerConfig/ExcludedFactionSetups.cfg new file mode 100644 index 0000000..3d6cf7a --- /dev/null +++ b/tester/ServerConfig/ExcludedFactionSetups.cfg @@ -0,0 +1,10 @@ +# v3.0 EXCLUDED FACTION SETUP LIST : This list must use FactionSetup ID's, which are different from display names ! + +//Faction Setup Examples: +//CAF_LightInfantry_1PPCLI +//CAF_LightInfantry_3PPCLI +//INS_LightInfantry_OmarsFreedomFighters +//MIL_LightInfantry_PeoplesFront +//RUS_LightInfantry_1398th +//USA_LightInfantry_10thMountain +//USA_LightInfantry_149MEB \ No newline at end of file diff --git a/tester/ServerConfig/ExcludedFactions.cfg b/tester/ServerConfig/ExcludedFactions.cfg new file mode 100644 index 0000000..c280122 --- /dev/null +++ b/tester/ServerConfig/ExcludedFactions.cfg @@ -0,0 +1,11 @@ +# EXCLUDED FACTION LIST : The listed factions must use Faction ID, which is different from UI display names ! + +//AUS +//CAF +//GB +//INS +//MEA +//MIL +//RUS +//US +//USMC \ No newline at end of file diff --git a/tester/ServerConfig/ExcludedLayers.cfg b/tester/ServerConfig/ExcludedLayers.cfg new file mode 100644 index 0000000..7762513 --- /dev/null +++ b/tester/ServerConfig/ExcludedLayers.cfg @@ -0,0 +1,37 @@ +# v3.0 EXCLUDED LAYER LIST +// NOTE: This list uses Layer ID names, which is different from UI display names. +// NOTE: this file is used for servers running with Layer voting. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// Specifying a layer here will hide it from the list when you use "adminchangelayer" or "adminsetnextlayer" +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + +AlBasrah_TA_v1 +Tallil_TA_v1 +Narva_TA_v1 +Yehorivka_TA_v1 + +Anvil_AAS_v1 +Anvil_AAS_v2 +Anvil_Invasion_v1 +Anvil_Invasion_v2 +Anvil_RAAS_v1 +Anvil_RAAS_v2 +Anvil_RAAS_v3 +Anvil_RAAS_v4 +Anvil_Skirmish_v1 +Anvil_TC_v1 + +Belaya_TC_v1 + +LashkarValley_TC_v3 + +// JensensRange_GB-MIL +// JensensRange_US-RUS +// JensensRange_USMC-MEA +// JensensRange_CAF-INS +// JensensRange_AUS-RUS + +PacificProvingGrounds_USMC-RUS +PacificProvingGrounds_USMC-MEA + +Tutorial_Helicopter +Tutorial_Infantry \ No newline at end of file diff --git a/tester/ServerConfig/ExcludedLevels.cfg b/tester/ServerConfig/ExcludedLevels.cfg new file mode 100644 index 0000000..c24d384 --- /dev/null +++ b/tester/ServerConfig/ExcludedLevels.cfg @@ -0,0 +1,32 @@ +# v3.0 EXCLUDED LEVEL LIST : This must use the Level Id : this is different from UI display names ! +// NOTE: This file is used for servers running with Levels voting. +// This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + + TutorialInfantry + TutorialHelicopter +// JensensRange + PacificProvingGrounds + +// AlBasrah +// Anvil +// Belaya +// BlackCoast +// Chora +// Fallujah +// FoolsRoad +// GooseBay +// Gorodok +// Kamdesh +// Kohat +// Kokan +// Lashkar +// Logar +// Manic-5 +// Mestia +// Mutaha +// Narva +// Skorpo +// Sumari +// Tallil +// Yehorivka \ No newline at end of file diff --git a/tester/ServerConfig/LayerRotation.cfg b/tester/ServerConfig/LayerRotation.cfg new file mode 100644 index 0000000..665780a --- /dev/null +++ b/tester/ServerConfig/LayerRotation.cfg @@ -0,0 +1,452 @@ +// v2.0 LAYER_ROTATION: These must be Layer_Id's; those_are_different from_display names! I.e. 'Belaya_AAS_v1' is correct, 'Belaya AAS v1' is not. +// NOTE: this file is used for servers running in MapRotationMode=LayerList, running in order, or for servers running in MapRotationMode=LayerList_Randomized, where the below layers are rotated randomly. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + +// To make it easier to see our layer rotation make a copy of active layers here: + + Gorodok_RAAS_v12 + Skorpo_RAAS_v4 + Manic_RAAS_v1 + Harju_RAAS_v6 + Belaya_Invasion_v2 + Yehorivka_RAAS_v10 + BlackCoast_RAAS_v4 + GooseBay_RAAS_v1 + AlBasrah_Invasion_v8 + Mestia_RAAS_v2 + + + +// HERE IS THE FULL LAYER LIST + + +// Anvil_AAS_v1 +// Anvil_AAS_v2 +// Anvil_Invasion_v1 +// Anvil_Invasion_v2 +// Anvil_RAAS_v1 +// Anvil_RAAS_v2 +// Anvil_RAAS_v3 +// Anvil_RAAS_v4 +// Anvil_Skirmish_v1 +// Anvil_TC_v1 + +// AlBasrah_AAS_v1 +// AlBasrah_AAS_v2 +// AlBasrah_AAS_v3 +// AlBasrah_Insurgency_v1 +// AlBasrah_Invasion_v1 +// AlBasrah_Invasion_v2 +// AlBasrah_Invasion_v3 +// AlBasrah_Invasion_v4 +// AlBasrah_Invasion_v5 +// AlBasrah_Invasion_v6 +// AlBasrah_Invasion_v7 +// AlBasrah_Invasion_v8 +// AlBasrah_RAAS_v1 +// AlBasrah_Seed_v1 +// AlBasrah_Skirmish_v1 +// AlBasrah_Skirmish_v2 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// AlBasrah_TA_v1 +// AlBasrah_TC_v1 +// AlBasrah_TC_v2 + +// Belaya_AAS_v1 +// Belaya_AAS_v2 +// Belaya_AAS_v3 +// Belaya_Invasion_v1 +// Belaya_Invasion_v2 +// Belaya_Invasion_v3 +// Belaya_RAAS_v1 +// Belaya_RAAS_v2 +// Belaya_RAAS_v3 +// Belaya_RAAS_v4 +// Belaya_RAAS_v5 +// Belaya_Skirmish_v1 +// Belaya_TC_v1 + +// BlackCoast_AAS_v1 +// BlackCoast_AAS_v2 +// BlackCoast_Invasion_v1 +// BlackCoast_Invasion_v2 +// BlackCoast_Invasion_v3 +// BlackCoast_Invasion_v4 +// BlackCoast_RAAS_v1 +// BlackCoast_RAAS_v2 +// BlackCoast_RAAS_v3 +// BlackCoast_RAAS_v4 +// BlackCoast_Seed_v1 +// BlackCoast_Skirmish_v1 + +// Chora_AAS_v1 +// Chora_AAS_v2 +// Chora_AAS_v3 +// Chora_AAS_v4 +// Chora_AAS_v5 +// Chora_AAS_v6 +// Chora_Insurgency_v1 +// Chora_Invasion_v1 +// Chora_Invasion_v2 +// Chora_RAAS_v1 +// Chora_RAAS_v2 +// Chora_RAAS_v3 +// Chora_RAAS_v4 +// Chora_RAAS_v5 +// Chora_Skirmish_v1 +// Chora_TC_v1 + +// Fallujah_AAS_v1 +// Fallujah_AAS_v2 +// Fallujah_Insurgency_v1 +// Fallujah_Invasion_v1 +// Fallujah_Invasion_v2 +// Fallujah_Invasion_v3 +// Fallujah_Invasion_v4 +// Fallujah_Invasion_v5 +// Fallujah_Invasion_v6 +// Fallujah_RAAS_v1 +// Fallujah_RAAS_v2 +// Fallujah_RAAS_v3 +// Fallujah_RAAS_v4 +// Fallujah_RAAS_v5 +// Fallujah_RAAS_v6 +// Fallujah_RAAS_v7 +// Fallujah_Seed_v1 +// Fallujah_Skirmish_v1 +// Fallujah_Skirmish_v2 +// Fallujah_TC_v1 +// Fallujah_TC_v2 + +// FoolsRoad_AAS_v1 +// FoolsRoad_AAS_v2 +// FoolsRoad_Destruction_v1 +// FoolsRoad_Invasion_v1 +// FoolsRoad_RAAS_v1 +// FoolsRoad_RAAS_v2 +// FoolsRoad_RAAS_v3 +// FoolsRoad_RAAS_v4 +// FoolsRoad_RAAS_v5 +// FoolsRoad_Skirmish_v1 +// FoolsRoad_Skirmish_v2 +// FoolsRoad_TC_v1 + +// GooseBay_AAS_v1 +// GooseBay_AAS_v2 +// GooseBay_Invasion_v1 +// GooseBay_Invasion_v2 +// GooseBay_Invasion_v3 +// GooseBay_Invasion_v4 +// GooseBay_Invasion_v5 +// GooseBay_RAAS_v1 +// GooseBay_RAAS_v2 +// GooseBay_RAAS_v3 +// GooseBay_RAAS_v4 +// GooseBay_Skirmish_v1 + +// Gorodok_AAS_v1 +// Gorodok_AAS_v2 +// Gorodok_AAS_v3 +// Gorodok_AAS_v4 +// Gorodok_Destruction_v1 +// Gorodok_Insurgency_v1 +// Gorodok_Invasion_v1 +// Gorodok_Invasion_v2 +// Gorodok_Invasion_v3 +// Gorodok_RAAS_v01 +// Gorodok_RAAS_v02 +// Gorodok_RAAS_v03 +// Gorodok_RAAS_v04 +// Gorodok_RAAS_v05 +// Gorodok_RAAS_v06 +// Gorodok_RAAS_v07 +// Gorodok_RAAS_v08 +// Gorodok_RAAS_v09 +// Gorodok_RAAS_v10 +// Gorodok_RAAS_v11 +// Gorodok_RAAS_v12 +// Gorodok_Skirmish_v1 +// Gorodok_TC_v1 +// Gorodok_TC_v2 + +// Harju_AAS_v1 +// Harju_AAS_v2 +// Harju_AAS_v3 +// Harju_Invasion_v1 +// Harju_Invasion_v2 +// Harju_Invasion_v3 +// Harju_Invasion_v4 +// Harju_Invasion_v5 +// Harju_RAAS_v1 +// Harju_RAAS_v2 +// Harju_RAAS_v3 +// Harju_RAAS_v4 +// Harju_RAAS_v5 +// Harju_RAAS_v6 +// Harju_Seed_v1 +// Harju_Skirmish_v1 +// Harju_Skirmish_v2 + +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_AUS-RUS +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_CAF-INS +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_GB-MIL +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_USA-RUS +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_USMC-MEA +// JensensRange_AUS-PLA + +// Kamdesh_AAS_v1 +// Kamdesh_Insurgency_v1 +// Kamdesh_Insurgency_v2 +// Kamdesh_Invasion_v1 +// Kamdesh_Invasion_v2 +// Kamdesh_Invasion_v3 +// Kamdesh_Invasion_v4 +// Kamdesh_Invasion_v5 +// Kamdesh_Invasion_v6 +// Kamdesh_Invasion_v7 +// Kamdesh_RAAS_v1 +// Kamdesh_RAAS_v2 +// Kamdesh_RAAS_v3 +// Kamdesh_RAAS_v4 +// Kamdesh_RAAS_v5 +// Kamdesh_RAAS_v6 +// Kamdesh_RAAS_v7 +// Kamdesh_Skirmish_v1 +// Kamdesh_TC_v1 +// Kamdesh_TC_v2 +// Kamdesh_TC_v3 +// Kamdesh_TC_v4 + +// Kohat_AAS_v1 +// Kohat_AAS_v2 +// Kohat_AAS_v3 +// Kohat_Insurgency_v1 +// Kohat_Invasion_v1 +// Kohat_Invasion_v2 +// Kohat_Invasion_v3 +// Kohat_Invasion_v4 +// Kohat_RAAS_v1 +// Kohat_RAAS_v2 +// Kohat_RAAS_Kohat_RAAS_v4 +// Kohat_RAAS_v5 +// Kohat_RAAS_v6 +// Kohat_RAAS_v7 +// Kohat_RAAS_v8 +// Kohat_RAAS_v9 +// Kohat_RAAS_v10 +// Kohat_Skirmish_v1 +// Kohat_TC_v1 + +// Kokan_AAS_v1 +// Kokan_AAS_v2 +// Kokan_AAS_v3 +// Kokan_Insurgency_v1 +// Kokan_Invasion_v1 +// Kokan_RAAS_v1 +// Kokan_RAAS_v2 +// Kokan_RAAS_v3 +// Kokan_RAAS_v4 +// Kokan_Skirmish_v1 +// Kokan_TC_v1 + +// Lashkar_AAS_v1 +// Lashkar_AAS_v2 +// Lashkar_AAS_v3 +// Lashkar_AAS_v4 +// Lashkar_Insurgency_v1 +// Lashkar_Invasion_v1 +// Lashkar_Invasion_v2 +// Lashkar_Invasion_v3 +// Lashkar_Invasion_v4 +// Lashkar_RAAS_v1 +// Lashkar_RAAS_v2 +// Lashkar_RAAS_v3 +// Lashkar_RAAS_v4 +// Lashkar_RAAS_v5 +// Lashkar_Skirmish_v1 +// Lashkar_TC_v1 +// Lashkar_TC_v2 +// Lashkar_TC_v3 +// Lashkar_TC_v4 +// Lashkar_TC_v5 + +// Logar_AAS_v1 +// Logar_AAS_v2 +// Logar_AAS_v3 +// Logar_Insurgency_v1 +// Logar_RAAS_v1 +// Logar_RAAS_v2 +// Logar_Skirmish_v1 +// Logar_Seed_v1 +// Logar_TC_v1 + +// Manic_AAS_v1 +// Manic_AAS_v2 +// Manic_Invasion_v1 +// Manic_Invasion_v2 +// Manic_RAAS_v1 +// Manic_RAAS_v2 +// Manic_RAAS_v3 +// Manic_RAAS_v4 +// Manic_Skirmish_v1 +// Manic_Skirmish_v2 +// Manic_TC_v1 + +// Mestia_AAS_v1 +// Mestia_AAS_v2 +// Mestia_Invasion_v1 +// Mestia_Invasion_v2 +// Mestia_RAAS_v1 +// Mestia_RAAS_v2 +// Mestia_Skirmish_v1 +// Mestia_TC_v1 + +// Mutaha_AAS_v1 +// Mutaha_AAS_v2 +// Mutaha_AAS_v3 +// Mutaha_AAS_v4 +// Mutaha_Invasion_v1 +// Mutaha_Invasion_v2 +// Mutaha_Invasion_v3 +// Mutaha_Invasion_v4 +// Mutaha_RAAS_v1 +// Mutaha_RAAS_v2 +// Mutaha_RAAS_v3 +// Mutaha_RAAS_v4 +// Mutaha_RAAS_v5 +// Mutaha_RAAS_v6 +// Mutaha_RAAS_v7 +// Mutaha_Skirmish_v1 +// Mutaha_TC_v1 +// Mutaha_TC_v2 + +// Narva_AAS_v1 +// Narva_AAS_v2 +// Narva_AAS_v3 +// Narva_AAS_v4 +// Narva_Destruction_v1 +// Narva_Invasion_v1 +// Narva_Invasion_v2 +// Narva_Invasion_v3 +// Narva_Invasion_v4 +// Narva_Invasion_v5 Narva_RAAS_v1 +// Narva_RAAS_v2 +// Narva_RAAS_v3 +// Narva_RAAS_v4 +// Narva_RAAS_v5 +// Narva_RAAS_v6 +// Narva_Skirmish_v1 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// Narva_TA_v1 +// Narva_TC_v1 +// Narva_TC_v2 + +// Pacific Proving Grounds amphibious training layers are meant for open sandbox, they have no gamemode and are not intended for regular servers. +// PacificProvingGrounds_USMC-RUS +// Pacific Proving Grounds amphibious training layers are meant for open sandbox, they have no gamemode and are not intended for regular servers. +// PacificProvingGrounds_USMC-MEA + +// Skorpo_AAS_v1 +// Skorpo_Invasion_v1 +// Skorpo_Invasion_v2 +// Skorpo_Invasion_v3 +// Skorpo_Invasion_v4 +// Skorpo_RAAS_v1 +// Skorpo_RAAS_v2 +// Skorpo_RAAS_v3 +// Skorpo_RAAS_v4 +// Skorpo_RAAS_v5 +// Skorpo_Skirmish_v1 +// Skorpo_TC_v1 +// Skorpo_TC_v2 +// Skorpo_TC_v3 + +// Sumari_AAS_v1 +// Sumari_AAS_v2 +// Sumari_AAS_v3 +// Sumari_AAS_v4 +// Sumari_AAS_v5 +// Sumari_Insurgency_v1 +// Sumari_Invasion_v1 +// Sumari_RAAS_v1 +// Sumari_RAAS_v2 +// Sumari_Skirmish_v1 +// Sumari_Seed_v1 +// Sumari_Seed_v2 +// Sumari_Seed_v3 +// Sumari_TC_v1 + +// Tallil_AAS_v1 +// Tallil_AAS_v2 +// Tallil_Invasion_v1 +// Tallil_Invasion_v2 +// Tallil_Invasion_v3 +// Tallil_Invasion_v4 +// Tallil_Invasion_v5 +// Tallil_RAAS_v1 +// Tallil_RAAS_v2 +// Tallil_RAAS_v3 +// Tallil_RAAS_v4 +// Tallil_RAAS_v5 +// Tallil_RAAS_v6 +// Tallil_RAAS_v7 +// Tallil_RAAS_v8 +// Tallil_Seed_v1 +// Tallil_Seed_v2 +// Tallil_Skirmish_v1 +// Tallil_Skirmish_v2 +// Tallil_Skirmish_v3 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// Tallil_TA_v1 +// Tallil_Tanks_v1 +// Tallil_Tanks_v2 +// Tallil_TC_v1 + +// Tutorial layers are not meant to be run on servers. +// Tutorial_Helicopter + +// Tutorial layers are not meant to be run on servers. +// Tutorial_Infantry + +// Yehorivka_AAS_v1 +// Yehorivka_AAS_v2 +// Yehorivka_AAS_v3 +// Yehorivka_AAS_v4 +// Yehorivka_Destruction_v1 +// Yehorivka_Invasion_v1 +// Yehorivka_Invasion_v2 +// Yehorivka_Invasion_v3 +// Yehorivka_RAAS_v01 +// Yehorivka_RAAS_v02 +// Yehorivka_RAAS_v03 +// Yehorivka_RAAS_v04 +// Yehorivka_RAAS_v05 +// Yehorivka_RAAS_v06 +// Yehorivka_RAAS_v07 +// Yehorivka_RAAS_v08 +// Yehorivka_RAAS_v09 +// Yehorivka_RAAS_v10 +// Yehorivka_RAAS_v11 +// Yehorivka_RAAS_v12 +// Yehorivka_RAAS_v13 +// Yehorivka_Skirmish_v1 +// Yehorivka_Skirmish_v2 +// Yehorivka_Skirmish_v3 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// Yehorivka_TA_v1 +// Yehorivka_TC_v1 +// Yehorivka_TC_v2 +// Yehorivka_TC_v3 + +DebugLayer_GBvMIL +DebugLayer_USAvRUS +DebugLayer_USMCvMEA +DebugLayer_CAFvINS +DebugLayer_AUSvRUS +DebugLayer_UltraLightweight + diff --git a/tester/ServerConfig/LevelRotation.cfg b/tester/ServerConfig/LevelRotation.cfg new file mode 100644 index 0000000..b1fde7e --- /dev/null +++ b/tester/ServerConfig/LevelRotation.cfg @@ -0,0 +1,27 @@ +# v3.0 LEVEL ROTATION : These must be Level ID's, which are different from UI display names ! +// NOTE: this file is used for servers running in MapRotationMode=LevelList, running in order, or for servers running in MapRotationMode=LevelList_Randomized, where the below layers are rotated randomly. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + + +AlBasrah +Anvil +Belaya +BlackCoast +Chora +Fallujah +FoolsRoad +GooseBay +Gorodok +Kamdesh +Kohat +Kokan +Lashkar +Logar +Manic-5 +Mestia +Mutaha +Narva +Skorpo +Sumari +Tallil +Yehorivka \ No newline at end of file diff --git a/tester/ServerConfig/License.cfg b/tester/ServerConfig/License.cfg new file mode 100644 index 0000000..7286d81 --- /dev/null +++ b/tester/ServerConfig/License.cfg @@ -0,0 +1,24 @@ +Id=191397 +Key=\ +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCRskHHyNDawgdJrtgcq6FgiFsb\ +if3xYR69Ix4M44XtLXPFodqmE8Ntp6mutgNz0slDBy6gyqQUP82bR6jdExqu3L6lpy6pP4u8NM/r\ +mYfWtA1gIaNdDcVh7lkSti7+NkWm63M6vQCG2JPFHhsjHKWGL5PXliXMJA+pFJ9Syd++K+ywynlG\ +hhyzps97ro3yVNqojqFkg7D1foMS2OvivLoSp7t2Ws48LSEVtBzr2ze9per6iSMXl6I2U4CUdxhI\ +MuOloe5vs/D3xzf8OodpYjv3RJCfLwx+aK8OWTOl7/ZY8kFqcn9QgU3Pc7StKcetcVC5lfSxOsxE\ +ZIMctMt6nKo/AgMBAAECggEAVKQDNQZD1yJrS3II2LcYnFT64MfMwELUsbpKBeDT+BK0tDawKFVI\ +7lY97GKPJOVqyMbOXtj6c00RrEj4H96uXLGfC+tQ30AsdJ0VwWBDGwck0hkYp8GNTrRCCO3P5R0w\ +X6VfHtuYB76gMh6oU0CcJJVVRSRUNwEoG+kAGf9vPTG0tL+684cCUa5Mgy1aMRojv+1svg/liabX\ +FLa9Jts/r4mVelWp+jsX/q2EcNjKaT1JHFh6NYxLUO7eCdfJ+AycWq529OJM/MaHdF1tmL0yYHJc\ +SWRn3Ek4+9x8N2m19Lar2Hv+Jxkjauvj42D5X5ZvzFi5PTQATb+GjxitTBF6YQKBgQDLGyRAO4v7\ +BExa87C4nMfQQrwUch9mnX3LNvv+UqQNWaKxJc+/yYJgyTHZAQhVyMWZ7gOmnGOHrSCSUefjN6HU\ +6xZQYj9ux9F66l4lTKySkGUgKsmB1kmkrmrSK52upI+3qJOkrPC3B6oyDKy9SfcGbz4Kq5rcqMO3\ +fT+UBfD1DwKBgQC3o6wnxHM5Sby7FQiTYEslq2aE/Tn3SvnckVfLkA2oQm2SAQS0HpIE4LGpVPBu\ +vDPKsaTE2cdkY9bvJI07Ua1eiHJWfoQkfSrSiIMVQ2aFNZhNTAPLUqH5RLyJKcF9yEUjKaDlQWFN\ +iUr8yQ4Hvgeyzv1P4hnDa4NJ68Cu7ZvX0QKBgGye2ldDwUwAc3lcxFEm/7GATye8FNEDPyg0ArZz\ +qeq92kVVDHLsKL7sOq1sYPHHyu3Unb03+/6udzHpfdNFiFXfV/KraHMth/ltZ+YYyF4lvP9kAppe\ +aMoawWQfEVg6B+ZX0IYMOzwXbE0R/DvLV8HoMkzwk4SY+PqjkCHwv3m/AoGAeejjGcdVwttLulq9\ +RbEwUgKWXYUKHTwd4apvQUkRd/kZakrYx4Zf43MTHlmv/6NbMp15x+DXeLK69ikqxQ107YPhe8Aj\ +k2GwsvFDLDOBdL9eqznibvEdbDCQhPI+bHUuSKiTEn6zzNhu+p+ye7tQuwikq4prFgtirgke8kH1\ +KnECgYAViEixU4hGil7vxxa4L3g1Y+lGwbD7abeB3w+raypQppCJ6CU3GTY263iNuJc3A0lZPw1l\ +xqq3Md5xtf+qVUvZ+zyskGzPTjinC+swVNwT6eUY+bDUCQHxkmrP8/soG571pNOO4vps0XtPHYR6\ +PEXx5QNi4cVrhHJS9nKZAa21jA== \ No newline at end of file diff --git a/tester/ServerConfig/MOTD.cfg b/tester/ServerConfig/MOTD.cfg new file mode 100644 index 0000000..6be6dae --- /dev/null +++ b/tester/ServerConfig/MOTD.cfg @@ -0,0 +1,91 @@ +Welcome to ASG server +Asgard Discord https://discord.gg/asg +Rule #1 Respect all players and community members. +- Racism, sexism, homophobia, antisemitism, religious or political intolerance, or any other form of discrimination will not be tolerated and will result in a permanent ban. +- Toxicity will not be tolerated. This is a new-player friendly server and mistakes happen. Toxicity will be penalized according to severity. + +Rule #2 No advertising or solicitation. +- Encouraging users to join a different clan or discord servers is strictly prohibited. Solicitation includes requests for gear, requests for in-game items, requests for community positions. +- This includes using your name to promote a website, discord, clan, communities, organization etc. + +Rule #3 No stream sniping/Ghosting. +- This includes joining game channels or streams to find the location of other players +- This is providing the enemy team with information that they wouldn’t normally have such as: + *Having someone in the opposing team giving you information + *Telling people over the in-game chat where friendly positions are (HAB’s, FOB’s, vehicles, players, next points, etc.) + *Giving the ticket count to the opposing team + +Rule #4 Spamming or flooding the chat or voice chat is prohibited. +- Excessive loud noises, screaming, soundboard usage, hot-mic’ing, etc +- Absolutely no mic spamming/music during the staging phase +- After the staging phase in game music and sound boards are permitted as long as they are not in excess. Be respectful and considerate of volume and context. + +Rule #5 Members and visitors of our Squad and Discord communities are expected to act with respect and maturity. +- In-game or server issues should be directed towards an admin using the !admin call out in-game. +- Issues may also be reported in our Discord, but only after the issue is reported in the game. + +- Admins have the ability to interpret suspect actions and behavior and take any action they see fit in order to protect the integrity of the server and player community. This is per OWI Policy. + +Rule #6 Vehicle claiming rules + +- First properly named squads have priority on vehicles. (e.g ARE allowed: “Tank”, “3x 30MM BTR”, “One Logi”, “Heli”) +- You may not claim multiple vehicle types for one squad. (e.g. BMP + X2 BTR-82A) +- Vehicles that are already occupied at the start of the round (Start of the round is after the preparation phase) cannot be overtaken by a late squad with the associating name. +- If no named squads are made for a vehicle, it is first come, first serve. +- 1-man locked squads have to be named and are only allowed for non crewman vehicles and logistics. + *“Non crewman vehicles” 🠮 Scout Car, Open-top bulldog, logistical/transport truck, some MT-LB's, etc. +- No 1-manning vehicles that require a crewman kit. + *Vehicles that require a crewman kit 🠮 MBT’s, IFV’s, APC’s, etc. +- You must have 2 crewmen before leaving main. +- You will not drive out of main to pick someone up. +- Incase of loss of a crewman try to save the vehicle & return to main. + +General Server Rules + +We strive to make the games for all parties involved fun / entertaining and not frustrating. + +Rule #7 No main camping +- If your intent is to kill something coming out of main before it has a chance to join the battle that is considered main camping. This includes placing mines and/or IEDs, positioning infantry weapon emplacements, or vehicles ANYWHERE on a map within the line of sight of main specifically for killing players and destroying vehicles as they leave. + +Rule #8 Squad Lead's must have a SL Kit and a mic. This includes Lead Pilot and Lead Crewman kits. +- If you create a squad you must intend to lead it, if you make a squad by accident, disband the squad. + +-- Do NOT create a Squad to pass off SL so you can get a kit you’d like to play. +-- Please don’t create a Squad should you have to leave in the foreseeable future. + +Rule #9 No intentional Teamkills. Apologize for all TK’s in chat. (Default key in-game is J). +* Revenge TK’s also count under this rule (Getting team killed and team killing in retaliation). TK’s under friends and/or TK’s with good will (use the ‘respawn’ command in the in-game chat). + +Rule #10 No cheating, hacking, exploiting. Exploiting known bugs and/or using known third-party tools. + +Rule #11 No Griefing + +Griefing includes: +* Intentional asset wasting; +* Driving/Flying vehicles off map; +* Driving/Flying vehicles into enemy positions with the intent to die/troll; +* Intentionally keeping a vehicle out of the game; +* Helicopter Ramming; +* Use of the unarmed kit; +* Intentional TK’s. + +-- Player names must have at least two English characters in order to make callouts. This is to help communication between players. + +-- English must be used in Command Chat. Squad-specific languages are permitted as long as English is used outside of the squad. This is to help communication between players. + +-- Squad leaders can kick squad members for any reason. This is per OWI Policy and any Griefing after being kicked will be met with punishment. +-- If competitive players choose to play on our New Player Friendly server we ask that no more than 4 competitive players be on the same side/team. + +- Admins reserve the right to split up clans or communities if games become too one-sided. This includes our own community {ASG} members. This is to keep games within the server enjoyable, and not one-sided as we are a new player friendly server. + +Seeding Rules + +"These are specific rules designed for seeding. A server is "seeding" when it is attempting to grow its population to a sustainable rate. The population for seeding to end varies server by server and so do the rules." + +1. Fight over the middle cap. +2. No FOBs on the middle cap. +3. No emplacements (mortars, TOWs, etc.) +4. No digging up enemy FOBs. +5. Live will be called at admin's discretion. +6. Logis and transports only (no armed vehicles, including MATVs, Scout Cars, etc.) +7. After live is called, emplacements and attacking the enemies FOB radio/HAB is still prohibited. \ No newline at end of file diff --git a/tester/ServerConfig/Rcon.cfg b/tester/ServerConfig/Rcon.cfg new file mode 100644 index 0000000..b1f60f6 --- /dev/null +++ b/tester/ServerConfig/Rcon.cfg @@ -0,0 +1,43 @@ +// Edit this IP to bind the RCON socket to an alternate IP address. +// Alternatively, set this from the command line with the argument: +// RCONIP=0.0.0.0 +IP=23.228.238.13 + +// Edit this IP to bind the RCON socket to an alternate port. +// Alternatively, set this from the command line with the argument: +// RCONPORT=21115 +Port=21115 + +// Set this to enable the usage of RCON with the given password for login. +// Leaving this empty will keep RCON turned off. +// Alternatively, set this from the command line with the argument: +// RCONPASSWORD=MyPassword +Password=6dd76d3d92c24c37be4ff0232158aab1 + +// Set this to set the maximum number of allowable concurrent RCON +// connections to the server. +// Alternatively, set this from the command line with the argument: +// RCONMAXCONNECTIONS=5 +MaxConnections=5 + +// Edit this to customize the number of seconds without contact from a connected +// console before the server checks to see if the session is still active, or if +// it got disconnected. Supports values between 0 and 86400 (1 day). Set to zero +// to disable the timeout. +// Alternatively, set this from the command line with the argument: +// RCONCONNECTIONTIMEOUT=300 +ConnectionTimeout=300 + +// Edit this to customize the number of seconds without contact from a connected +// console before the server sends a TCP KEEPALIVE to check if the session is +// still active, or if it got disconnected. Supports values between 30 and 3600 (1 hour). +// Alternatively, set this from the command line with the argument: +// RCONSECONDSBEFORETIMEOUTCHECK=120 +SecondsBeforeTimeoutCheck=120 + +// Edit this to customize the number of seconds the server will wait for the +// console to authenticate when a connection has been established. Supports +// values between 0 and 3600 (1 hour). Set to zero to disable the timeout. +// Alternatively, set this from the command line with the argument: +// RCONSECONDSBEFORETIMEOUTCHECK=5 +AuthenticationTimeout=5 \ No newline at end of file diff --git a/tester/ServerConfig/RemoteAdminListHosts.cfg b/tester/ServerConfig/RemoteAdminListHosts.cfg new file mode 100644 index 0000000..c173aff --- /dev/null +++ b/tester/ServerConfig/RemoteAdminListHosts.cfg @@ -0,0 +1 @@ +103.1.215.248:4295 \ No newline at end of file diff --git a/tester/ServerConfig/RemoteBanListHosts.cfg b/tester/ServerConfig/RemoteBanListHosts.cfg new file mode 100644 index 0000000..2fbeeec --- /dev/null +++ b/tester/ServerConfig/RemoteBanListHosts.cfg @@ -0,0 +1,6 @@ +////////////////////////////////////////////////////////////////////////// +//// Place the urls to your ban lists here. The banlists must conform //// +//// to the Bans.cfg format : //Reason //// +//// 1 url per line //// +//// EX: http://mysite.com/banlists/ban-list.cfg //// +////////////////////////////////////////////////////////////////////////// diff --git a/tester/ServerConfig/Server.cfg b/tester/ServerConfig/Server.cfg new file mode 100644 index 0000000..72caf1a --- /dev/null +++ b/tester/ServerConfig/Server.cfg @@ -0,0 +1,75 @@ +ServerName="[ASG] Asgard Eternal | New player friendly" + +// Control visibility in the server browser +ShouldAdvertise="true" + +// Set the server to LAN mode +IsLANMatch="false" + +// Max player count on the server +MaxPlayers="100" + +// Number of reserved slots for admins / members +NumReservedSlots="2" + +// Size of the server queuing, for regular user +PublicQueueLimit="25" + +// Map rotation mode: it can be +// LevelList(use order in level rotation config file) + LayerList (use order in layer rotation config file) +// or +// LevelList_Randomized +// LayerList_Randomized +// which are randomized version of previous options +MapRotationMode="LayerList" + +// Should the Map/Layer rotations list be randomized at start? +RandomizeAtStart="false" + +// Should Faction be voted for on generic layers? Randomized if false. +UseVoteFactions="false" + +// Should next Map be voted for at end of round? +UseVoteLevel="false" + +// Should next Layer be voted for at end of round? +UseVoteLayer="false" + +// Completly Allow or Disallow Team change to all players. Only user with Level_Balance access level can bypass this flag +AllowTeamChanges="true" + +// If set to false, players can change teams regardless of team balance. Otherwise, the NumPlayersDiffForTeamChanges Value is used +PreventTeamChangeIfUnbalanced="true" + +// Maximum Allowed difference in player count between teams. This takes into account the team the player leaves and the team the player joins +NumPlayersDiffForTeamChanges="2" + +RejoinSquadDelayAfterKick="180" +RecordDemos="true" + +// Whether public clients are allowed to record. +// If you do not want public clients to record, but you do want to allow certain ones to, you can give the admin access level "ClientDemos". +// There is a difference between "ClientDemos" and "Demos". "Demos" allows access to server commands for recording server-sided demos, while "ClientDemos" only allows clientside demos (no admin commands) +AllowPublicClientsToRecord="false" + +ServerMessageInterval="1200" + +// Forces the server to do non-seamless travel (disconnect when changing maps) every X seconds +// ForceNonSeamlessTravelIntervalSeconds=43200 + +// The following are required for Licensed servers, but can be changed for non-licensed servers +TKAutoKickEnabled="True" +AutoTKBanNumberTKs="7" +AutoTKBanTime="3600" +VehicleKitRequirementDisabled="false" +AllowCommunityAdminAccess="true" + +// Only Offworld Industries developers are admins +AllowDevProfiling="true" + +AllowQA="true" + +// The below commands are optional for all servers +VehicleClaimingDisabled="false" + diff --git a/tester/ServerConfig/ServerMessages.cfg b/tester/ServerConfig/ServerMessages.cfg new file mode 100644 index 0000000..5e2360a --- /dev/null +++ b/tester/ServerConfig/ServerMessages.cfg @@ -0,0 +1,4 @@ +Welcome to Asgard Eternal! Remember to add Asgard to your favorites list!! +Check out Asgard Discord https://discord.gg/asg + + diff --git a/tester/ServerConfig/VoteConfig.cfg b/tester/ServerConfig/VoteConfig.cfg new file mode 100644 index 0000000..0e03a62 --- /dev/null +++ b/tester/ServerConfig/VoteConfig.cfg @@ -0,0 +1,34 @@ +// Votes have several configurable variables, these are: +// Duration: The duration of the voting time. +// ResultPresentationDuration: The duration where players can see the results displayed, but cannot vote. +// AccessFilter: The minimum access level required in order to vote. +// TeamFilter: The teams that you must be a member of in order to vote. + +// When using Level Vote, this value lets you control how many levels will be picked from your rotation and offered for each level vote +LevelCountPerVote=4 +LevelVote_Duration=30 +LevelVote_ResultPresentationDuration=5 +LevelVote_AccessFilter=Public +LevelVote_TeamFilter=Team_Neutral+Team_One+Team_Two + +// When not using Level Vote, this value lets you control how many layers will be picked from your rotation and offered in each layer vote +LayerCountPerVote=4 +LayerVote_Duration=30 +LayerVote_ResultPresentationDuration=5 +LayerVote_AccessFilter=Public +LayerVote_TeamFilter=Team_Neutral+Team_One+Team_Two + +Team_Neutral_Duration=30 +Team_Neutral_ResultPresentationDuration=5 +Team_Neutral_AccessFilter=Public +Team_Neutral_TeamFilter=Team_Neutral+Team_One+Team_Two + +Team_One_Duration=30 +Team_One_ResultPresentationDuration=5 +Team_One_AccessFilter=Public +Team_One_TeamFilter=Team_Neutral+Team_One+Team_Two + +Team_Two_Duration=30 +Team_Two_ResultPresentationDuration=5 +Team_Two_AccessFilter=Public +Team_Two_TeamFilter=Team_Neutral+Team_One+Team_Two diff --git a/tester/docker-compose.yml b/tester/docker-compose.yml new file mode 100644 index 0000000..1051b76 --- /dev/null +++ b/tester/docker-compose.yml @@ -0,0 +1,15 @@ +version: '3.9' + +services: + squad: + image: asgard.orion-technologies.io/squad:latest + container_name: squad + restart: unless-stopped + network_mode: "host" + volumes: + - /home/sam/Git/ASG/Docker/Squad/tester/storage:/home/steam/ServerConfig/ + environment: + - QUERYPORT=27165 + - RCONPORT=21114 + - FIXEDMAXPLAYERS=100 + - RCON_PASSWORD=asgardians diff --git a/tester/storage/Admins.cfg b/tester/storage/Admins.cfg new file mode 100755 index 0000000..551d3bf --- /dev/null +++ b/tester/storage/Admins.cfg @@ -0,0 +1,109 @@ +///////////////////////////////////////////////////////////////////////////////////////////// +//// Valid access levels are as follows +//// startvote - not used +//// changemap +//// pause - Pause server gameplay +//// cheat - Use server cheat commands +//// private - Password protect server +//// balance - Group Ignores server team balance +//// chat - Admin chat and Server broadcast +//// kick +//// ban +//// config - Change server config +//// cameraman - Admin spectate mode +//// immune - Cannot be kicked / banned +//// manageserver - Shutdown server +//// featuretest - Any features added for testing by dev team +//// reserve - Reserve slot +//// demos - Record Demos on the server side via admin commands +//// clientdemos - Record Demos on the client side via commands or the replay UI. +//// debug - show admin stats command and other debugging info +//// teamchange - No timer limits on team change +//// forceteamchange - Can issue the ForceTeamChange command +//// canseeadminchat - This group can see the admin chat and teamkill/admin-join notifications +///////////////////////////////////////////////////////////////////////////////////////////// + +///////////////////////////////////////////////////////////////////////////////////////////// +// The Format for adding groups is: +// Group=:,, +// +// For example: +// Group=MyGroup: pause, demos, changemap +// +// The groups below are the defaults, add to or change them as needed: +///////////////////////////////////////////////////////////////////////////////////////////// + +Group=Odin:changemap,balance,chat,kick,ban,cameraman,teamchange,forceteamchange,canseeadminchat,reserve,config +Group=SrAdmin:changemap,balance,chat,kick,ban,cameraman,teamchange,forceteamchange,canseeadminchat,reserve +Group=JrAdmin:balance,chat,kick,ban,teamchange,canseeadminchat,reserve +Group=whitelist:reserve + +///////////////////////////////////////////////////////////////////////////////////////////// +// The format for adding admins is: +// Admin=: +// +// For example: +// Admin=123456:Admin // Adam the admin +// Admin=654321:Moderator // Molly the moderator +// +// Add your own below: +///////////////////////////////////////////////////////////////////////////////////////////// +Admin=76561197986710399:Odin // Kinsher +Admin=76561199101367413:Odin // Atrocity +Admin=76561198153769543:Odin // MaxRecon +Admin=76561198067016254:Odin // SheHulk +Admin=76561198404402665:Odin // Malinoff +Admin=76561198339174737:SrAdmin // Frizz +Admin=76561198073942737:Odin // Someoneulove +Admin=76561198373523022:SrAdmin // Lt_Longsword +Admin=76561199201845769:SrAdmin // Buddy +Admin=76561198015328506:SrAdmin // Ray +Admin=76561198329170534:SrAdmin // Freeman +Admin=76561198855097026:Odin // SooperGloo +Admin=76561199018771290:SrAdmin // Omega +Admin=76561198046579272:SrAdmin // Coiffee +Admin=76561198356666755:Odin // Teggy +Admin=76561198203568744:SrAdmin // Elon +Admin=76561198799111045:SrAdmin // Kin_Seward +Admin=76561198206734757:SrAdmin // RangerSix +Admin=76561199094282718:SrAdmin // Epimetheus +Admin=76561198001193856:Odin // Xikky +Admin=76561199028579724:Odin // iiTherRealMcCoy +Admin=76561199127559778:SrAdmin // Chemji +Admin=76561198059250541:SrAdmin // Mirage40K +Admin=76561198081576045:srAdmin // Rabbid_Squirrel +Admin=76561198124658412:SrAdmin // Sweetwater +Admin=76561198107367726:SrAdmin // wolf.rayne + +// Whitelist Group +Admin=76561198026192477:Whitelist // LtJamesFox +Admin=76561198059124012:Whitelist // tcandan88(4skin) - ducati979@aol.com +Admin=76561199062085282:Whitelist // Dick Deflator +Admin=76561198059462064:Whitelist // Bagels - adroessler10@gmail.com +Admin=76561198119385943:Whitelist // Hypothermiack +Admin=76561199123384670:Whitelist // TapatioTimmy - camdenricketts4@gmail.com +Admin=76561199285813056:Whitelist // TheGoochSlooth - justintestorelli@gmail.com +Admin=76561197963075020:Whitelist // Subterfuge - jwlind@gmail.com +Admin=76561198128034210:Whitelist // Kybar - carbarykyle@gmail.com +Admin=76561198049739312;Whitelist // Juggernaut - robledoaustin@yahoo.com +Admin=76561197979663830:Whitelist // DamiSupreme - alexdemiane93@gmail.com +Admin=76561199241025555:Whitelist // Dang Li Wang - n.hinesly0602@gmail.com +Admin=76561199241627472:Whitelist // Jenna Tools - n.hinesly0602@gmail.com + +// [CAS] Community +Admin=76561198445511381:Whitelist // Albertime +Admin=76561198094918611:Whitelist // JF +Admin=76561198153409985:Whitelist // Jashy +Admin=76561198150626482:Whitelist // Oscar +Admin=76561198248146940:Whitelist // Skay + +// [HC] Community +Admin=76561198043032389:Whitelist // Sir Peabody +Admin=76561197982328479:Whitelist // Kameron +Admin=76561198101099268:Whitelist // Evans +Admin=76561198302683791:Whitelist // BClani +Admin=76561198191984002:Whitelist // Skeebler + +//『SLT』Community +Admin=76561198149412908:Whitelist // EnderDevs +Admin=76561198448114730:Whitelist // JoeBrandonCheated diff --git a/tester/storage/Bans.cfg b/tester/storage/Bans.cfg new file mode 100755 index 0000000..091467d --- /dev/null +++ b/tester/storage/Bans.cfg @@ -0,0 +1,48 @@ +N/A Banned:76561199405442900:1667714524 //Automatic Teamkill Kick +N/A Banned:76561198059250541:1668141424 //Automatic Teamkill Kick +N/A Banned:76561198148769258:1668230277 //Automatic Teamkill Kick +N/A Banned:76561199388285915:1668239327 //Automatic Teamkill Kick +N/A Banned:76561198439128612:1668304426 //Automatic Teamkill Kick +N/A Banned:76561198417943566:1668304731 //Automatic Teamkill Kick +N/A Banned:76561199094462146:1668306144 //Automatic Teamkill Kick +N/A Banned:76561198835580857:1668377354 //Automatic Teamkill Kick +N/A Banned:76561198259419557:1668379114 //Automatic Teamkill Kick +N/A Banned:76561199018088874:1668408559 //Automatic Teamkill Kick +N/A Banned:76561199050057768:1668497248 //Automatic Teamkill Kick +N/A Banned:76561198881916014:1668568999 //Automatic Teamkill Kick +N/A Banned:76561198881916014:1668568999 //Automatic Teamkill Kick +N/A Banned:76561198360652170:1668582584 //Automatic Teamkill Kick +N/A Banned:76561199000113460:1669166782 //Automatic Teamkill Kick +N/A Banned:76561197996356716:1670560397 //Automatic Teamkill Kick +N/A Banned:76561198056113440:1670745135 //Automatic Teamkill Kick +N/A Banned:76561198032316772:1670813490 //Automatic Teamkill Kick +N/A Banned:76561198122076586:1670825913 //Automatic Teamkill Kick +N/A Banned:76561198122076586:1670825913 //Automatic Teamkill Kick +N/A Banned:76561198122076586:1670825913 //Automatic Teamkill Kick +N/A Banned:76561199197083951:1670986314 //Automatic Teamkill Kick +N/A Banned:76561199108480380:1671084273 //Automatic Teamkill Kick +N/A Banned:76561199286188264:1671256821 //Automatic Teamkill Kick +N/A Banned:76561199377023376:1671768811 //Automatic Teamkill Kick +N/A Banned:76561198173435573:1671860253 //Automatic Teamkill Kick +N/A Banned:76561198334281545:1671860359 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561198076150702:1671870277 //Automatic Teamkill Kick +N/A Banned:76561199092456239:1671957266 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198171124310:1672033483 //Automatic Teamkill Kick +N/A Banned:76561198976927351:1672040509 //Automatic Teamkill Kick +N/A Banned:76561198099687994:0 //R1. - Racism, sexism, homophobia, antisemitism, religious or political intolerance, or any other form of discrimination will not be tolerated. Discord.gg/asg +N/A Banned:76561199193146972:1672557986 //Automatic Teamkill Kick +N/A Banned:76561198065169905:1672709281 //Automatic Teamkill Kick +N/A Banned:76561198065169905:1672709281 //Automatic Teamkill Kick +N/A Banned:76561199224307830:1672899496 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561198364053540:1673062856 //Automatic Teamkill Kick +N/A Banned:76561199362207481:1673080316 //Automatic Teamkill Kick diff --git a/tester/storage/CustomOptions.cfg b/tester/storage/CustomOptions.cfg new file mode 100755 index 0000000..8ef6382 --- /dev/null +++ b/tester/storage/CustomOptions.cfg @@ -0,0 +1,23 @@ +# Here you can control mod-specific server settings. Mods can use blueprint node "GetCustomServerSetting" to gather the contents of this file. +# This section used to exist in server.cfg + +// Amount of players needed to start Pre-Live countdown, integer. Default=50. +#SeedPlayersThreshold=50 + +// After reaching the SeedPlayersThreshold, if some players disconnect but the current player count stays at or above this value, don’t stop the +// Pre-Live countdown, integer. Should be greater than zero and less than SeedPlayersThreshold to be considered enabled. default=45. +#SeedMinimumPlayersToLive=45 + +// Match length in seconds, integer. Default=21600 (6 hours) +#SeedMatchLengthSeconds=21600 + +// Enable or Disable availability of all kits during seeding phase, boolean (valid values are 0 and 1), default=1 +#SeedAllKitsAvailable=1 + +// Initial number of tickets for both teams, integer. Default=100 +#SeedInitialTickets=100 + +// Length of the pre-live countdown, float. Default=60.0 +#SeedSecondsBeforeLive=60.0 + +// All default values listed above will be used if the corresponding setting is not present on config file or commented out. \ No newline at end of file diff --git a/tester/storage/ExcludedFactionSetups.cfg b/tester/storage/ExcludedFactionSetups.cfg new file mode 100755 index 0000000..3d6cf7a --- /dev/null +++ b/tester/storage/ExcludedFactionSetups.cfg @@ -0,0 +1,10 @@ +# v3.0 EXCLUDED FACTION SETUP LIST : This list must use FactionSetup ID's, which are different from display names ! + +//Faction Setup Examples: +//CAF_LightInfantry_1PPCLI +//CAF_LightInfantry_3PPCLI +//INS_LightInfantry_OmarsFreedomFighters +//MIL_LightInfantry_PeoplesFront +//RUS_LightInfantry_1398th +//USA_LightInfantry_10thMountain +//USA_LightInfantry_149MEB \ No newline at end of file diff --git a/tester/storage/ExcludedFactions.cfg b/tester/storage/ExcludedFactions.cfg new file mode 100755 index 0000000..c280122 --- /dev/null +++ b/tester/storage/ExcludedFactions.cfg @@ -0,0 +1,11 @@ +# EXCLUDED FACTION LIST : The listed factions must use Faction ID, which is different from UI display names ! + +//AUS +//CAF +//GB +//INS +//MEA +//MIL +//RUS +//US +//USMC \ No newline at end of file diff --git a/tester/storage/ExcludedLayers.cfg b/tester/storage/ExcludedLayers.cfg new file mode 100755 index 0000000..7762513 --- /dev/null +++ b/tester/storage/ExcludedLayers.cfg @@ -0,0 +1,37 @@ +# v3.0 EXCLUDED LAYER LIST +// NOTE: This list uses Layer ID names, which is different from UI display names. +// NOTE: this file is used for servers running with Layer voting. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// Specifying a layer here will hide it from the list when you use "adminchangelayer" or "adminsetnextlayer" +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + +AlBasrah_TA_v1 +Tallil_TA_v1 +Narva_TA_v1 +Yehorivka_TA_v1 + +Anvil_AAS_v1 +Anvil_AAS_v2 +Anvil_Invasion_v1 +Anvil_Invasion_v2 +Anvil_RAAS_v1 +Anvil_RAAS_v2 +Anvil_RAAS_v3 +Anvil_RAAS_v4 +Anvil_Skirmish_v1 +Anvil_TC_v1 + +Belaya_TC_v1 + +LashkarValley_TC_v3 + +// JensensRange_GB-MIL +// JensensRange_US-RUS +// JensensRange_USMC-MEA +// JensensRange_CAF-INS +// JensensRange_AUS-RUS + +PacificProvingGrounds_USMC-RUS +PacificProvingGrounds_USMC-MEA + +Tutorial_Helicopter +Tutorial_Infantry \ No newline at end of file diff --git a/tester/storage/ExcludedLevels.cfg b/tester/storage/ExcludedLevels.cfg new file mode 100755 index 0000000..c24d384 --- /dev/null +++ b/tester/storage/ExcludedLevels.cfg @@ -0,0 +1,32 @@ +# v3.0 EXCLUDED LEVEL LIST : This must use the Level Id : this is different from UI display names ! +// NOTE: This file is used for servers running with Levels voting. +// This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + + TutorialInfantry + TutorialHelicopter +// JensensRange + PacificProvingGrounds + +// AlBasrah +// Anvil +// Belaya +// BlackCoast +// Chora +// Fallujah +// FoolsRoad +// GooseBay +// Gorodok +// Kamdesh +// Kohat +// Kokan +// Lashkar +// Logar +// Manic-5 +// Mestia +// Mutaha +// Narva +// Skorpo +// Sumari +// Tallil +// Yehorivka \ No newline at end of file diff --git a/tester/storage/LayerRotation.cfg b/tester/storage/LayerRotation.cfg new file mode 100755 index 0000000..665780a --- /dev/null +++ b/tester/storage/LayerRotation.cfg @@ -0,0 +1,452 @@ +// v2.0 LAYER_ROTATION: These must be Layer_Id's; those_are_different from_display names! I.e. 'Belaya_AAS_v1' is correct, 'Belaya AAS v1' is not. +// NOTE: this file is used for servers running in MapRotationMode=LayerList, running in order, or for servers running in MapRotationMode=LayerList_Randomized, where the below layers are rotated randomly. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + +// To make it easier to see our layer rotation make a copy of active layers here: + + Gorodok_RAAS_v12 + Skorpo_RAAS_v4 + Manic_RAAS_v1 + Harju_RAAS_v6 + Belaya_Invasion_v2 + Yehorivka_RAAS_v10 + BlackCoast_RAAS_v4 + GooseBay_RAAS_v1 + AlBasrah_Invasion_v8 + Mestia_RAAS_v2 + + + +// HERE IS THE FULL LAYER LIST + + +// Anvil_AAS_v1 +// Anvil_AAS_v2 +// Anvil_Invasion_v1 +// Anvil_Invasion_v2 +// Anvil_RAAS_v1 +// Anvil_RAAS_v2 +// Anvil_RAAS_v3 +// Anvil_RAAS_v4 +// Anvil_Skirmish_v1 +// Anvil_TC_v1 + +// AlBasrah_AAS_v1 +// AlBasrah_AAS_v2 +// AlBasrah_AAS_v3 +// AlBasrah_Insurgency_v1 +// AlBasrah_Invasion_v1 +// AlBasrah_Invasion_v2 +// AlBasrah_Invasion_v3 +// AlBasrah_Invasion_v4 +// AlBasrah_Invasion_v5 +// AlBasrah_Invasion_v6 +// AlBasrah_Invasion_v7 +// AlBasrah_Invasion_v8 +// AlBasrah_RAAS_v1 +// AlBasrah_Seed_v1 +// AlBasrah_Skirmish_v1 +// AlBasrah_Skirmish_v2 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// AlBasrah_TA_v1 +// AlBasrah_TC_v1 +// AlBasrah_TC_v2 + +// Belaya_AAS_v1 +// Belaya_AAS_v2 +// Belaya_AAS_v3 +// Belaya_Invasion_v1 +// Belaya_Invasion_v2 +// Belaya_Invasion_v3 +// Belaya_RAAS_v1 +// Belaya_RAAS_v2 +// Belaya_RAAS_v3 +// Belaya_RAAS_v4 +// Belaya_RAAS_v5 +// Belaya_Skirmish_v1 +// Belaya_TC_v1 + +// BlackCoast_AAS_v1 +// BlackCoast_AAS_v2 +// BlackCoast_Invasion_v1 +// BlackCoast_Invasion_v2 +// BlackCoast_Invasion_v3 +// BlackCoast_Invasion_v4 +// BlackCoast_RAAS_v1 +// BlackCoast_RAAS_v2 +// BlackCoast_RAAS_v3 +// BlackCoast_RAAS_v4 +// BlackCoast_Seed_v1 +// BlackCoast_Skirmish_v1 + +// Chora_AAS_v1 +// Chora_AAS_v2 +// Chora_AAS_v3 +// Chora_AAS_v4 +// Chora_AAS_v5 +// Chora_AAS_v6 +// Chora_Insurgency_v1 +// Chora_Invasion_v1 +// Chora_Invasion_v2 +// Chora_RAAS_v1 +// Chora_RAAS_v2 +// Chora_RAAS_v3 +// Chora_RAAS_v4 +// Chora_RAAS_v5 +// Chora_Skirmish_v1 +// Chora_TC_v1 + +// Fallujah_AAS_v1 +// Fallujah_AAS_v2 +// Fallujah_Insurgency_v1 +// Fallujah_Invasion_v1 +// Fallujah_Invasion_v2 +// Fallujah_Invasion_v3 +// Fallujah_Invasion_v4 +// Fallujah_Invasion_v5 +// Fallujah_Invasion_v6 +// Fallujah_RAAS_v1 +// Fallujah_RAAS_v2 +// Fallujah_RAAS_v3 +// Fallujah_RAAS_v4 +// Fallujah_RAAS_v5 +// Fallujah_RAAS_v6 +// Fallujah_RAAS_v7 +// Fallujah_Seed_v1 +// Fallujah_Skirmish_v1 +// Fallujah_Skirmish_v2 +// Fallujah_TC_v1 +// Fallujah_TC_v2 + +// FoolsRoad_AAS_v1 +// FoolsRoad_AAS_v2 +// FoolsRoad_Destruction_v1 +// FoolsRoad_Invasion_v1 +// FoolsRoad_RAAS_v1 +// FoolsRoad_RAAS_v2 +// FoolsRoad_RAAS_v3 +// FoolsRoad_RAAS_v4 +// FoolsRoad_RAAS_v5 +// FoolsRoad_Skirmish_v1 +// FoolsRoad_Skirmish_v2 +// FoolsRoad_TC_v1 + +// GooseBay_AAS_v1 +// GooseBay_AAS_v2 +// GooseBay_Invasion_v1 +// GooseBay_Invasion_v2 +// GooseBay_Invasion_v3 +// GooseBay_Invasion_v4 +// GooseBay_Invasion_v5 +// GooseBay_RAAS_v1 +// GooseBay_RAAS_v2 +// GooseBay_RAAS_v3 +// GooseBay_RAAS_v4 +// GooseBay_Skirmish_v1 + +// Gorodok_AAS_v1 +// Gorodok_AAS_v2 +// Gorodok_AAS_v3 +// Gorodok_AAS_v4 +// Gorodok_Destruction_v1 +// Gorodok_Insurgency_v1 +// Gorodok_Invasion_v1 +// Gorodok_Invasion_v2 +// Gorodok_Invasion_v3 +// Gorodok_RAAS_v01 +// Gorodok_RAAS_v02 +// Gorodok_RAAS_v03 +// Gorodok_RAAS_v04 +// Gorodok_RAAS_v05 +// Gorodok_RAAS_v06 +// Gorodok_RAAS_v07 +// Gorodok_RAAS_v08 +// Gorodok_RAAS_v09 +// Gorodok_RAAS_v10 +// Gorodok_RAAS_v11 +// Gorodok_RAAS_v12 +// Gorodok_Skirmish_v1 +// Gorodok_TC_v1 +// Gorodok_TC_v2 + +// Harju_AAS_v1 +// Harju_AAS_v2 +// Harju_AAS_v3 +// Harju_Invasion_v1 +// Harju_Invasion_v2 +// Harju_Invasion_v3 +// Harju_Invasion_v4 +// Harju_Invasion_v5 +// Harju_RAAS_v1 +// Harju_RAAS_v2 +// Harju_RAAS_v3 +// Harju_RAAS_v4 +// Harju_RAAS_v5 +// Harju_RAAS_v6 +// Harju_Seed_v1 +// Harju_Skirmish_v1 +// Harju_Skirmish_v2 + +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_AUS-RUS +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_CAF-INS +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_GB-MIL +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_USA-RUS +// Jensen's range layers have no gamemode and are not intended for regular servers. +// JensensRange_USMC-MEA +// JensensRange_AUS-PLA + +// Kamdesh_AAS_v1 +// Kamdesh_Insurgency_v1 +// Kamdesh_Insurgency_v2 +// Kamdesh_Invasion_v1 +// Kamdesh_Invasion_v2 +// Kamdesh_Invasion_v3 +// Kamdesh_Invasion_v4 +// Kamdesh_Invasion_v5 +// Kamdesh_Invasion_v6 +// Kamdesh_Invasion_v7 +// Kamdesh_RAAS_v1 +// Kamdesh_RAAS_v2 +// Kamdesh_RAAS_v3 +// Kamdesh_RAAS_v4 +// Kamdesh_RAAS_v5 +// Kamdesh_RAAS_v6 +// Kamdesh_RAAS_v7 +// Kamdesh_Skirmish_v1 +// Kamdesh_TC_v1 +// Kamdesh_TC_v2 +// Kamdesh_TC_v3 +// Kamdesh_TC_v4 + +// Kohat_AAS_v1 +// Kohat_AAS_v2 +// Kohat_AAS_v3 +// Kohat_Insurgency_v1 +// Kohat_Invasion_v1 +// Kohat_Invasion_v2 +// Kohat_Invasion_v3 +// Kohat_Invasion_v4 +// Kohat_RAAS_v1 +// Kohat_RAAS_v2 +// Kohat_RAAS_Kohat_RAAS_v4 +// Kohat_RAAS_v5 +// Kohat_RAAS_v6 +// Kohat_RAAS_v7 +// Kohat_RAAS_v8 +// Kohat_RAAS_v9 +// Kohat_RAAS_v10 +// Kohat_Skirmish_v1 +// Kohat_TC_v1 + +// Kokan_AAS_v1 +// Kokan_AAS_v2 +// Kokan_AAS_v3 +// Kokan_Insurgency_v1 +// Kokan_Invasion_v1 +// Kokan_RAAS_v1 +// Kokan_RAAS_v2 +// Kokan_RAAS_v3 +// Kokan_RAAS_v4 +// Kokan_Skirmish_v1 +// Kokan_TC_v1 + +// Lashkar_AAS_v1 +// Lashkar_AAS_v2 +// Lashkar_AAS_v3 +// Lashkar_AAS_v4 +// Lashkar_Insurgency_v1 +// Lashkar_Invasion_v1 +// Lashkar_Invasion_v2 +// Lashkar_Invasion_v3 +// Lashkar_Invasion_v4 +// Lashkar_RAAS_v1 +// Lashkar_RAAS_v2 +// Lashkar_RAAS_v3 +// Lashkar_RAAS_v4 +// Lashkar_RAAS_v5 +// Lashkar_Skirmish_v1 +// Lashkar_TC_v1 +// Lashkar_TC_v2 +// Lashkar_TC_v3 +// Lashkar_TC_v4 +// Lashkar_TC_v5 + +// Logar_AAS_v1 +// Logar_AAS_v2 +// Logar_AAS_v3 +// Logar_Insurgency_v1 +// Logar_RAAS_v1 +// Logar_RAAS_v2 +// Logar_Skirmish_v1 +// Logar_Seed_v1 +// Logar_TC_v1 + +// Manic_AAS_v1 +// Manic_AAS_v2 +// Manic_Invasion_v1 +// Manic_Invasion_v2 +// Manic_RAAS_v1 +// Manic_RAAS_v2 +// Manic_RAAS_v3 +// Manic_RAAS_v4 +// Manic_Skirmish_v1 +// Manic_Skirmish_v2 +// Manic_TC_v1 + +// Mestia_AAS_v1 +// Mestia_AAS_v2 +// Mestia_Invasion_v1 +// Mestia_Invasion_v2 +// Mestia_RAAS_v1 +// Mestia_RAAS_v2 +// Mestia_Skirmish_v1 +// Mestia_TC_v1 + +// Mutaha_AAS_v1 +// Mutaha_AAS_v2 +// Mutaha_AAS_v3 +// Mutaha_AAS_v4 +// Mutaha_Invasion_v1 +// Mutaha_Invasion_v2 +// Mutaha_Invasion_v3 +// Mutaha_Invasion_v4 +// Mutaha_RAAS_v1 +// Mutaha_RAAS_v2 +// Mutaha_RAAS_v3 +// Mutaha_RAAS_v4 +// Mutaha_RAAS_v5 +// Mutaha_RAAS_v6 +// Mutaha_RAAS_v7 +// Mutaha_Skirmish_v1 +// Mutaha_TC_v1 +// Mutaha_TC_v2 + +// Narva_AAS_v1 +// Narva_AAS_v2 +// Narva_AAS_v3 +// Narva_AAS_v4 +// Narva_Destruction_v1 +// Narva_Invasion_v1 +// Narva_Invasion_v2 +// Narva_Invasion_v3 +// Narva_Invasion_v4 +// Narva_Invasion_v5 Narva_RAAS_v1 +// Narva_RAAS_v2 +// Narva_RAAS_v3 +// Narva_RAAS_v4 +// Narva_RAAS_v5 +// Narva_RAAS_v6 +// Narva_Skirmish_v1 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// Narva_TA_v1 +// Narva_TC_v1 +// Narva_TC_v2 + +// Pacific Proving Grounds amphibious training layers are meant for open sandbox, they have no gamemode and are not intended for regular servers. +// PacificProvingGrounds_USMC-RUS +// Pacific Proving Grounds amphibious training layers are meant for open sandbox, they have no gamemode and are not intended for regular servers. +// PacificProvingGrounds_USMC-MEA + +// Skorpo_AAS_v1 +// Skorpo_Invasion_v1 +// Skorpo_Invasion_v2 +// Skorpo_Invasion_v3 +// Skorpo_Invasion_v4 +// Skorpo_RAAS_v1 +// Skorpo_RAAS_v2 +// Skorpo_RAAS_v3 +// Skorpo_RAAS_v4 +// Skorpo_RAAS_v5 +// Skorpo_Skirmish_v1 +// Skorpo_TC_v1 +// Skorpo_TC_v2 +// Skorpo_TC_v3 + +// Sumari_AAS_v1 +// Sumari_AAS_v2 +// Sumari_AAS_v3 +// Sumari_AAS_v4 +// Sumari_AAS_v5 +// Sumari_Insurgency_v1 +// Sumari_Invasion_v1 +// Sumari_RAAS_v1 +// Sumari_RAAS_v2 +// Sumari_Skirmish_v1 +// Sumari_Seed_v1 +// Sumari_Seed_v2 +// Sumari_Seed_v3 +// Sumari_TC_v1 + +// Tallil_AAS_v1 +// Tallil_AAS_v2 +// Tallil_Invasion_v1 +// Tallil_Invasion_v2 +// Tallil_Invasion_v3 +// Tallil_Invasion_v4 +// Tallil_Invasion_v5 +// Tallil_RAAS_v1 +// Tallil_RAAS_v2 +// Tallil_RAAS_v3 +// Tallil_RAAS_v4 +// Tallil_RAAS_v5 +// Tallil_RAAS_v6 +// Tallil_RAAS_v7 +// Tallil_RAAS_v8 +// Tallil_Seed_v1 +// Tallil_Seed_v2 +// Tallil_Skirmish_v1 +// Tallil_Skirmish_v2 +// Tallil_Skirmish_v3 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// Tallil_TA_v1 +// Tallil_Tanks_v1 +// Tallil_Tanks_v2 +// Tallil_TC_v1 + +// Tutorial layers are not meant to be run on servers. +// Tutorial_Helicopter + +// Tutorial layers are not meant to be run on servers. +// Tutorial_Infantry + +// Yehorivka_AAS_v1 +// Yehorivka_AAS_v2 +// Yehorivka_AAS_v3 +// Yehorivka_AAS_v4 +// Yehorivka_Destruction_v1 +// Yehorivka_Invasion_v1 +// Yehorivka_Invasion_v2 +// Yehorivka_Invasion_v3 +// Yehorivka_RAAS_v01 +// Yehorivka_RAAS_v02 +// Yehorivka_RAAS_v03 +// Yehorivka_RAAS_v04 +// Yehorivka_RAAS_v05 +// Yehorivka_RAAS_v06 +// Yehorivka_RAAS_v07 +// Yehorivka_RAAS_v08 +// Yehorivka_RAAS_v09 +// Yehorivka_RAAS_v10 +// Yehorivka_RAAS_v11 +// Yehorivka_RAAS_v12 +// Yehorivka_RAAS_v13 +// Yehorivka_Skirmish_v1 +// Yehorivka_Skirmish_v2 +// Yehorivka_Skirmish_v3 +// Track Attack layers are small-scale gameplay layers for a tournament gamemode, not meant for regular servers. +// Yehorivka_TA_v1 +// Yehorivka_TC_v1 +// Yehorivka_TC_v2 +// Yehorivka_TC_v3 + +DebugLayer_GBvMIL +DebugLayer_USAvRUS +DebugLayer_USMCvMEA +DebugLayer_CAFvINS +DebugLayer_AUSvRUS +DebugLayer_UltraLightweight + diff --git a/tester/storage/LevelRotation.cfg b/tester/storage/LevelRotation.cfg new file mode 100755 index 0000000..b1fde7e --- /dev/null +++ b/tester/storage/LevelRotation.cfg @@ -0,0 +1,27 @@ +# v3.0 LEVEL ROTATION : These must be Level ID's, which are different from UI display names ! +// NOTE: this file is used for servers running in MapRotationMode=LevelList, running in order, or for servers running in MapRotationMode=LevelList_Randomized, where the below layers are rotated randomly. This setting can be found in your Server.cfg file (make sure to use a fresh one as your basis). +// NOTE: in-line comments will not work in this config until further notice. Comment lines should be in separate lines, if used. + + +AlBasrah +Anvil +Belaya +BlackCoast +Chora +Fallujah +FoolsRoad +GooseBay +Gorodok +Kamdesh +Kohat +Kokan +Lashkar +Logar +Manic-5 +Mestia +Mutaha +Narva +Skorpo +Sumari +Tallil +Yehorivka \ No newline at end of file diff --git a/tester/storage/MOTD.cfg b/tester/storage/MOTD.cfg new file mode 100755 index 0000000..6be6dae --- /dev/null +++ b/tester/storage/MOTD.cfg @@ -0,0 +1,91 @@ +Welcome to ASG server +Asgard Discord https://discord.gg/asg +Rule #1 Respect all players and community members. +- Racism, sexism, homophobia, antisemitism, religious or political intolerance, or any other form of discrimination will not be tolerated and will result in a permanent ban. +- Toxicity will not be tolerated. This is a new-player friendly server and mistakes happen. Toxicity will be penalized according to severity. + +Rule #2 No advertising or solicitation. +- Encouraging users to join a different clan or discord servers is strictly prohibited. Solicitation includes requests for gear, requests for in-game items, requests for community positions. +- This includes using your name to promote a website, discord, clan, communities, organization etc. + +Rule #3 No stream sniping/Ghosting. +- This includes joining game channels or streams to find the location of other players +- This is providing the enemy team with information that they wouldn’t normally have such as: + *Having someone in the opposing team giving you information + *Telling people over the in-game chat where friendly positions are (HAB’s, FOB’s, vehicles, players, next points, etc.) + *Giving the ticket count to the opposing team + +Rule #4 Spamming or flooding the chat or voice chat is prohibited. +- Excessive loud noises, screaming, soundboard usage, hot-mic’ing, etc +- Absolutely no mic spamming/music during the staging phase +- After the staging phase in game music and sound boards are permitted as long as they are not in excess. Be respectful and considerate of volume and context. + +Rule #5 Members and visitors of our Squad and Discord communities are expected to act with respect and maturity. +- In-game or server issues should be directed towards an admin using the !admin call out in-game. +- Issues may also be reported in our Discord, but only after the issue is reported in the game. + +- Admins have the ability to interpret suspect actions and behavior and take any action they see fit in order to protect the integrity of the server and player community. This is per OWI Policy. + +Rule #6 Vehicle claiming rules + +- First properly named squads have priority on vehicles. (e.g ARE allowed: “Tank”, “3x 30MM BTR”, “One Logi”, “Heli”) +- You may not claim multiple vehicle types for one squad. (e.g. BMP + X2 BTR-82A) +- Vehicles that are already occupied at the start of the round (Start of the round is after the preparation phase) cannot be overtaken by a late squad with the associating name. +- If no named squads are made for a vehicle, it is first come, first serve. +- 1-man locked squads have to be named and are only allowed for non crewman vehicles and logistics. + *“Non crewman vehicles” 🠮 Scout Car, Open-top bulldog, logistical/transport truck, some MT-LB's, etc. +- No 1-manning vehicles that require a crewman kit. + *Vehicles that require a crewman kit 🠮 MBT’s, IFV’s, APC’s, etc. +- You must have 2 crewmen before leaving main. +- You will not drive out of main to pick someone up. +- Incase of loss of a crewman try to save the vehicle & return to main. + +General Server Rules + +We strive to make the games for all parties involved fun / entertaining and not frustrating. + +Rule #7 No main camping +- If your intent is to kill something coming out of main before it has a chance to join the battle that is considered main camping. This includes placing mines and/or IEDs, positioning infantry weapon emplacements, or vehicles ANYWHERE on a map within the line of sight of main specifically for killing players and destroying vehicles as they leave. + +Rule #8 Squad Lead's must have a SL Kit and a mic. This includes Lead Pilot and Lead Crewman kits. +- If you create a squad you must intend to lead it, if you make a squad by accident, disband the squad. + +-- Do NOT create a Squad to pass off SL so you can get a kit you’d like to play. +-- Please don’t create a Squad should you have to leave in the foreseeable future. + +Rule #9 No intentional Teamkills. Apologize for all TK’s in chat. (Default key in-game is J). +* Revenge TK’s also count under this rule (Getting team killed and team killing in retaliation). TK’s under friends and/or TK’s with good will (use the ‘respawn’ command in the in-game chat). + +Rule #10 No cheating, hacking, exploiting. Exploiting known bugs and/or using known third-party tools. + +Rule #11 No Griefing + +Griefing includes: +* Intentional asset wasting; +* Driving/Flying vehicles off map; +* Driving/Flying vehicles into enemy positions with the intent to die/troll; +* Intentionally keeping a vehicle out of the game; +* Helicopter Ramming; +* Use of the unarmed kit; +* Intentional TK’s. + +-- Player names must have at least two English characters in order to make callouts. This is to help communication between players. + +-- English must be used in Command Chat. Squad-specific languages are permitted as long as English is used outside of the squad. This is to help communication between players. + +-- Squad leaders can kick squad members for any reason. This is per OWI Policy and any Griefing after being kicked will be met with punishment. +-- If competitive players choose to play on our New Player Friendly server we ask that no more than 4 competitive players be on the same side/team. + +- Admins reserve the right to split up clans or communities if games become too one-sided. This includes our own community {ASG} members. This is to keep games within the server enjoyable, and not one-sided as we are a new player friendly server. + +Seeding Rules + +"These are specific rules designed for seeding. A server is "seeding" when it is attempting to grow its population to a sustainable rate. The population for seeding to end varies server by server and so do the rules." + +1. Fight over the middle cap. +2. No FOBs on the middle cap. +3. No emplacements (mortars, TOWs, etc.) +4. No digging up enemy FOBs. +5. Live will be called at admin's discretion. +6. Logis and transports only (no armed vehicles, including MATVs, Scout Cars, etc.) +7. After live is called, emplacements and attacking the enemies FOB radio/HAB is still prohibited. \ No newline at end of file diff --git a/tester/storage/Rcon.cfg b/tester/storage/Rcon.cfg new file mode 100644 index 0000000..cb9bdb5 --- /dev/null +++ b/tester/storage/Rcon.cfg @@ -0,0 +1,42 @@ +// Edit this IP to bind the RCON socket to an alternate IP address. +// Alternatively, set this from the command line with the argument: +// RCONIP=0.0.0.0 +IP=23.228.238.13 + +// Edit this IP to bind the RCON socket to an alternate port. +// Alternatively, set this from the command line with the argument: +// RCONPORT=21115 +Port=21114 + +// Set this to enable the usage of RCON with the given password for login. +// Leaving this empty will keep RCON turned off. +// Alternatively, set this from the command line with the argument: +// RCONPASSWORD=MyPassword +Password=asgardians + +// Set this to set the maximum number of allowable concurrent RCON +// connections to the server. +// Alternatively, set this from the command line with the argument: +// RCONMAXCONNECTIONS=5 +MaxConnections=5 + +// Edit this to customize the number of seconds without contact from a connected +// console before the server checks to see if the session is still active, or if +// it got disconnected. Supports values between 0 and 86400 (1 day). Set to zero +// to disable the timeout. +// Alternatively, set this from the command line with the argument: +// RCONCONNECTIONTIMEOUT=300 +ConnectionTimeout=300 + +// Edit this to customize the number of seconds without contact from a connected +// console before the server sends a TCP KEEPALIVE to check if the session is +// still active, or if it got disconnected. Supports values between 30 and 3600 (1 hour). +// Alternatively, set this from the command line with the argument: +// RCONSECONDSBEFORETIMEOUTCHECK=120 +SecondsBeforeTimeoutCheck=120 + +// Edit this to customize the number of seconds the server will wait for the +// console to authenticate when a connection has been established. Supports +// values between 0 and 3600 (1 hour). Set to zero to disable the timeout. +// Alternatively, set this from the command line with the argument: +// RCONSECONDSBEFORETIMEOUTCHECK=5 diff --git a/tester/storage/RemoteAdminListHosts.cfg b/tester/storage/RemoteAdminListHosts.cfg new file mode 100755 index 0000000..c173aff --- /dev/null +++ b/tester/storage/RemoteAdminListHosts.cfg @@ -0,0 +1 @@ +103.1.215.248:4295 \ No newline at end of file diff --git a/tester/storage/RemoteBanListHosts.cfg b/tester/storage/RemoteBanListHosts.cfg new file mode 100755 index 0000000..2fbeeec --- /dev/null +++ b/tester/storage/RemoteBanListHosts.cfg @@ -0,0 +1,6 @@ +////////////////////////////////////////////////////////////////////////// +//// Place the urls to your ban lists here. The banlists must conform //// +//// to the Bans.cfg format : //Reason //// +//// 1 url per line //// +//// EX: http://mysite.com/banlists/ban-list.cfg //// +////////////////////////////////////////////////////////////////////////// diff --git a/tester/storage/ServerMessages.cfg b/tester/storage/ServerMessages.cfg new file mode 100755 index 0000000..5e2360a --- /dev/null +++ b/tester/storage/ServerMessages.cfg @@ -0,0 +1,4 @@ +Welcome to Asgard Eternal! Remember to add Asgard to your favorites list!! +Check out Asgard Discord https://discord.gg/asg + + diff --git a/tester/storage/VoteConfig.cfg b/tester/storage/VoteConfig.cfg new file mode 100755 index 0000000..0e03a62 --- /dev/null +++ b/tester/storage/VoteConfig.cfg @@ -0,0 +1,34 @@ +// Votes have several configurable variables, these are: +// Duration: The duration of the voting time. +// ResultPresentationDuration: The duration where players can see the results displayed, but cannot vote. +// AccessFilter: The minimum access level required in order to vote. +// TeamFilter: The teams that you must be a member of in order to vote. + +// When using Level Vote, this value lets you control how many levels will be picked from your rotation and offered for each level vote +LevelCountPerVote=4 +LevelVote_Duration=30 +LevelVote_ResultPresentationDuration=5 +LevelVote_AccessFilter=Public +LevelVote_TeamFilter=Team_Neutral+Team_One+Team_Two + +// When not using Level Vote, this value lets you control how many layers will be picked from your rotation and offered in each layer vote +LayerCountPerVote=4 +LayerVote_Duration=30 +LayerVote_ResultPresentationDuration=5 +LayerVote_AccessFilter=Public +LayerVote_TeamFilter=Team_Neutral+Team_One+Team_Two + +Team_Neutral_Duration=30 +Team_Neutral_ResultPresentationDuration=5 +Team_Neutral_AccessFilter=Public +Team_Neutral_TeamFilter=Team_Neutral+Team_One+Team_Two + +Team_One_Duration=30 +Team_One_ResultPresentationDuration=5 +Team_One_AccessFilter=Public +Team_One_TeamFilter=Team_Neutral+Team_One+Team_Two + +Team_Two_Duration=30 +Team_Two_ResultPresentationDuration=5 +Team_Two_AccessFilter=Public +Team_Two_TeamFilter=Team_Neutral+Team_One+Team_Two