diff --git a/GoldenEyeSource/cfg/lgsm-default.cfg b/GoldenEyeSource/cfg/lgsm-default.cfg new file mode 100644 index 000000000..ae3f1319f --- /dev/null +++ b/GoldenEyeSource/cfg/lgsm-default.cfg @@ -0,0 +1,150 @@ +// *********** SERVER & PASSWORD INFO *************** +// Change it to 1 if you want a LAN only Server +// NOTE: You must do "changelevel [levelname]" AFTER starting the server for +// a lan-only server to begin broadcasting +sv_lan 0 + +// Change the number to the region you live in! +// 0=US East coast, 1=US West coast, 2= South America, 3=Europe, 4=Asia, 5=Australia, 6=Middle East, 7=Africa and 255=world +sv_region 0 + +// Give your server a name here +hostname "" + +// Rcon password is used to give your server orders by using console, so think of a good password +rcon_password "" + +// If you want your server to be private, fill in a password and delete the // in front of sv_password +// sv_password "mi6" + +// All talk allows clients to talk to each other via voice even if they are dead, +// spectating, or on the other team +sv_alltalk 1 + +// *********** GOLDENEYE: SOURCE SPECIFIC ********* + +// Radar will show on clients if enabled. Some gameplay scenarios +// force the radar to be visible +ge_allowradar 1 +ge_radar_showenemyteam 1 + +// Paintball mode (for fun!) +ge_paintball 0 + +// Teamplay can be overriden by the current gameplay, but +// this sets our "desired" teamplay state +ge_teamplay 0 + +// *********** GAME SETTINGS, YOU CAN CHANGE THESE THE WAY YOU LIKE IT *************** + +// Allow the use of a flashlight (discouraged for GE:S) +mp_flashlight 0 + +// Disable footstep sounds by uncommenting below +// mp_footsteps 0 + +// 1 enables falling damage, 0 disables it +mp_falldamage 1 + +// 1 = Forces the engine to use light physics for better server preformance +sv_turbophysics 0 + +// Server round, map, and delay times are defined in Valve.rc +// If you want these times to be reset every map change copy them +// to this file instead (Valve.rc is only executed once on server start) + + +// ********************************************************** +// *********** Load Specific Server Type Settings *********** +// ********************************************************** + +// Uncomment ONE server type to load. This takes care of all settings, map cycles, and gameplay types + +//-- Normal server, recommended settings +exec server_normal.cfg + +//-- N64 Classic Mode ( DM|YOLT|MWGG|LD|LTK, NO Jump ) +// **Use with -maxplayers 4 +//exec server_n64_classic.cfg + +//-- For server with > 24 players +//exec server_large.cfg + +//-- For servers with < 10 players +//exec server_small.cfg + +//-- Vanilla DM only w/ auto teamplay +// **Should be used in conjunction with one of the sizes above +//exec server_dm_only.cfg + +//-- Advanced game modes (LALD, LD, CTK) only +// **Should be used in conjunction with one of the sizes above +//exec server_adv_gamemode.cfg + +//-- Teamplay only! (No MWGG or LALD) +// **Should be used in conjunction with one of the sizes above +//exec server_teamplay.cfg + +//-- Tournament Use Only (Tournament DM) +// **Should be used ALONE only! +//exec server_tournament.cfg + + +// *********** Rates *********** + +// Max bandwidth rate allowed on server, 0=unlimited, max=20000 +sv_maxrate 20000 + +// Min bandwidth rate allowed on server, 0=unlimited, 4000=dialup limit + +// 10000=any modern connection, CAL minimum rate. +sv_minrate 10000 + +// Maximum updates per second that the server will allow, increasing this will take more cpu power, 100 is max + +// 66 max, 50 min rate clamping reduces hit-reg problems. + +// Permitting lower rates only can help dialup players and not by much. +sv_maxcmdrate 66 +sv_maxupdaterate 66 +sv_mincmdrate 50 +sv_minupdaterate 50 + +// Enforce symmetrical rates. +sv_client_cmdrate_difference 17 + +// Ensure client interpolation functions appropriately. + +// Improves hit registration for bullet weapons. +sv_client_max_interp_ratio 3 +sv_client_min_interp_ratio 2 + +// *********** server logging *********** +log on +sv_logbans 0 +sv_logecho 0 +sv_logfile 1 +sv_log_onefile 0 + + +// *********** DOWNLOAD *********** + +// Allow clients to download files +sv_allowdownload 1 + +// Allow clients to upload customizations files +sv_allowupload 1 + +// VOICE enabled, if you want VOICE disabled then change 1 to 0 +sv_voiceenable 1 + +// *********** CHEATS *********** + +// Enables the use of cheats. ex. "impulse 101" "noclip" +sv_cheats 0 + +// disable clients' ability to pause the server +sv_pausable 0 + +// Forces prediction on the client, protects clients from themselves. +sv_client_predict 1 diff --git a/GoldenEyeSource/gesserver b/GoldenEyeSource/gesserver new file mode 100644 index 000000000..f473dcc57 --- /dev/null +++ b/GoldenEyeSource/gesserver @@ -0,0 +1,140 @@ +#!/bin/bash +# GoldenEye: Source +# Server Management Script +# Author: Daniel Gibbs +# Website: http://gameservermanagers.com +if [ -f ".dev-debug" ]; then + exec 5>dev-debug.log + BASH_XTRACEFD="5" + + set -x +fi + +version="271215" + +#### Variables #### +export MALLOC_CHECK_=0 + +# Notification Email +# (on|off) +emailnotification="off" +email="email@example.com" + +# Steam login +steamuser="anonymous" +steampass="" + +# Start Variables +defaultmap="ge_archives" +maxplayers="16" +port="27015" +sourcetvport="27020" +clientport="27005" +ip="0.0.0.0" +updateonstart="off" + +# https://developer.valvesoftware.com/wiki/Command_Line_Options#Source_Dedicated_Server +fn_parms(){ +parms="-game gesource -strictportbind -ip ${ip} -port ${port} +clientport ${clientport} +tv_port ${sourcetvport} +map ${defaultmap} +servercfgfile ${servercfg} -maxplayers ${maxplayers}" +} + +#### Advanced Variables #### + +# Github Branch Select +# Allows for the use of different function files +# from a different repo and/or branch. +githubuser="dgibbs64" +githubrepo="linuxgsm" +githubbranch="master" + +# Steam - 2007 SDK +appid="310" + +# Server Details +servicename="ges-server" +gamename="GoldenEye: Source" +engine="source" + +# Directories +rootdir="$(dirname $(readlink -f "${BASH_SOURCE[0]}"))" +selfname="$(basename $(readlink -f "${BASH_SOURCE[0]}"))" +lockselfname=".${servicename}.lock" +filesdir="${rootdir}/serverfiles" +systemdir="${filesdir}/gesource" +executabledir="${filesdir}" +executable="./srcds_run" +servercfg="${servicename}.cfg" +servercfgdir="${systemdir}/cfg" +servercfgfullpath="${servercfgdir}/${servercfg}" +servercfgdefault="${servercfgdir}/lgsm-default.cfg" +backupdir="${rootdir}/backups" + +# Logging +logdays="7" +gamelogdir="${systemdir}/logs" +scriptlogdir="${rootdir}/log/script" +consolelogdir="${rootdir}/log/console" + +scriptlog="${scriptlogdir}/${servicename}-script.log" +consolelog="${consolelogdir}/${servicename}-console.log" +emaillog="${scriptlogdir}/${servicename}-email.log" + +scriptlogdate="${scriptlogdir}/${servicename}-script-$(date '+%d-%m-%Y-%H-%M-%S').log" +consolelogdate="${consolelogdir}/${servicename}-console-$(date '+%d-%m-%Y-%H-%M-%S').log" + +##### Script ##### +# Do not edit + +fn_getgithubfile(){ +filename=$1 +exec=$2 +fileurl=${3:-$filename} +filepath="${rootdir}/${filename}" +filedir=$(dirname "${filepath}") +# If the function file is missing, then download +if [ ! -f "${filepath}" ]; then + if [ ! -d "${filedir}" ]; then + mkdir "${filedir}" + fi + githuburl="https://raw.githubusercontent.com/${githubuser}/${githubrepo}/${githubbranch}/${fileurl}" + echo -e " fetching ${filename}...\c" + if [ "$(command -v curl)" ]||[ "$(which curl >/dev/null 2>&1)" ]||[ -f "/usr/bin/curl" ]||[ -f "/bin/curl" ]; then + : + else + echo -e "\e[0;31mFAIL\e[0m\n" + echo "Curl is not installed!" + echo -e "" + exit + fi + curl=$(curl --fail -o "${filepath}" "${githuburl}" 2>&1) + if [ $? -ne 0 ]; then + echo -e "\e[0;31mFAIL\e[0m\n" + echo "${curl}" + echo -e "${githuburl}\n" + exit + else + echo -e "\e[0;32mOK\e[0m" + fi + if [ "${exec}" ]; then + chmod +x "${filepath}" + fi +fi +if [ "${exec}" ]; then + source "${filepath}" +fi +} + +fn_runfunction(){ + fn_getgithubfile "functions/${functionfile}" 1 +} + +core_functions.sh(){ +# Functions are defined in core_functions.sh. +functionfile="${FUNCNAME}" +fn_runfunction +} + +core_functions.sh + +getopt=$1 +core_getopt.sh \ No newline at end of file