Initial PropHunt server setup
- Complete bare metal installer with SteamCMD, MetaMod, SourceMod, ULX - Docker installer with one-liner support - Server configuration files (server.cfg, autoexec.cfg, mount.cfg) - Update script for easy maintenance - Backup script for server data - Workshop collection documentation - SourceMod admin configuration template
This commit is contained in:
76
scripts/start.sh
Executable file
76
scripts/start.sh
Executable file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
#===============================================================================
|
||||
# Garry's Mod PropHunt Server - Start Script
|
||||
#===============================================================================
|
||||
|
||||
INSTALL_DIR="${GMOD_INSTALL_DIR:-/home/gmod}"
|
||||
SERVER_DIR="${INSTALL_DIR}/serverfiles"
|
||||
|
||||
# Configuration (can be overridden with environment variables)
|
||||
SRCDS_TOKEN="${SRCDS_TOKEN:-}"
|
||||
SERVER_NAME="${SERVER_NAME:-PropHunt Server}"
|
||||
MAP="${MAP:-gm_construct}"
|
||||
MAX_PLAYERS="${MAX_PLAYERS:-24}"
|
||||
PORT="${PORT:-27015}"
|
||||
GAMEMODE="${GAMEMODE:-prop_hunt}"
|
||||
WORKSHOP_COLLECTION="${WORKSHOP_COLLECTION:-}"
|
||||
TICKRATE="${TICKRATE:-66}"
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
echo -e "${GREEN}"
|
||||
echo "╔═══════════════════════════════════════════════════════════════╗"
|
||||
echo "║ 🎮 Garry's Mod PropHunt Server Starting 🎮 ║"
|
||||
echo "╚═══════════════════════════════════════════════════════════════╝"
|
||||
echo -e "${NC}"
|
||||
|
||||
cd "$SERVER_DIR"
|
||||
|
||||
# Check if server files exist
|
||||
if [[ ! -f "srcds_run" ]]; then
|
||||
echo -e "${RED}[ERROR]${NC} Server files not found. Run install.sh first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Build command line arguments
|
||||
ARGS="-game garrysmod"
|
||||
ARGS="$ARGS -console"
|
||||
ARGS="$ARGS -port $PORT"
|
||||
ARGS="$ARGS +maxplayers $MAX_PLAYERS"
|
||||
ARGS="$ARGS +map $MAP"
|
||||
ARGS="$ARGS +gamemode $GAMEMODE"
|
||||
ARGS="$ARGS -tickrate $TICKRATE"
|
||||
ARGS="$ARGS +hostname \"$SERVER_NAME\""
|
||||
|
||||
# Add Steam token if provided
|
||||
if [[ -n "$SRCDS_TOKEN" ]]; then
|
||||
ARGS="$ARGS +sv_setsteamaccount $SRCDS_TOKEN"
|
||||
echo -e "${GREEN}[OK]${NC} Steam token configured."
|
||||
else
|
||||
echo -e "${YELLOW}[WARNING]${NC} No SRCDS_TOKEN set. Server won't be listed publicly."
|
||||
echo "Get a token at: https://steamcommunity.com/dev/managegameservers"
|
||||
fi
|
||||
|
||||
# Add workshop collection if provided
|
||||
if [[ -n "$WORKSHOP_COLLECTION" ]]; then
|
||||
ARGS="$ARGS +host_workshop_collection $WORKSHOP_COLLECTION"
|
||||
echo -e "${BLUE}[INFO]${NC} Workshop collection: $WORKSHOP_COLLECTION"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo -e "${BLUE}[INFO]${NC} Server Configuration:"
|
||||
echo " • Map: $MAP"
|
||||
echo " • Max Players: $MAX_PLAYERS"
|
||||
echo " • Port: $PORT"
|
||||
echo " • Gamemode: $GAMEMODE"
|
||||
echo ""
|
||||
|
||||
echo -e "${GREEN}Starting server...${NC}"
|
||||
|
||||
# Start the server
|
||||
./srcds_run $ARGS
|
||||
Reference in New Issue
Block a user