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:
Vish
2026-01-19 06:41:02 +00:00
parent 889fbaaf4c
commit ce7fc9f39c
17 changed files with 1839 additions and 2 deletions

76
scripts/backup.sh Executable file
View File

@@ -0,0 +1,76 @@
#!/bin/bash
#===============================================================================
# Garry's Mod PropHunt Server - Backup Script
#===============================================================================
INSTALL_DIR="${GMOD_INSTALL_DIR:-/home/gmod}"
SERVER_DIR="${INSTALL_DIR}/serverfiles"
BACKUP_DIR="${BACKUP_DIR:-/home/gmod/backups}"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_NAME="gmod_prophunt_backup_${DATE}.tar.gz"
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; }
echo -e "${GREEN}"
echo "╔═══════════════════════════════════════════════════════════════╗"
echo "║ 💾 Garry's Mod PropHunt Backup Script 💾 ║"
echo "╚═══════════════════════════════════════════════════════════════╝"
echo -e "${NC}"
# Create backup directory
mkdir -p "$BACKUP_DIR"
log_info "Creating backup..."
# Items to backup
BACKUP_ITEMS=(
"$SERVER_DIR/garrysmod/cfg"
"$SERVER_DIR/garrysmod/data"
"$SERVER_DIR/garrysmod/addons/ulib"
"$SERVER_DIR/garrysmod/addons/ulx"
"$SERVER_DIR/garrysmod/addons/sourcemod/configs"
"$SERVER_DIR/garrysmod/addons/sourcemod/data"
)
# Create temporary directory for backup
TEMP_BACKUP="/tmp/gmod_backup_${DATE}"
mkdir -p "$TEMP_BACKUP"
# Copy files to temp directory
for item in "${BACKUP_ITEMS[@]}"; do
if [[ -e "$item" ]]; then
cp -r "$item" "$TEMP_BACKUP/" 2>/dev/null
fi
done
# Create compressed archive
cd /tmp
tar -czf "$BACKUP_DIR/$BACKUP_NAME" "gmod_backup_${DATE}"
# Cleanup temp directory
rm -rf "$TEMP_BACKUP"
# Keep only last 7 backups
cd "$BACKUP_DIR"
ls -t gmod_prophunt_backup_*.tar.gz | tail -n +8 | xargs -r rm
log_success "Backup created: $BACKUP_DIR/$BACKUP_NAME"
# Show backup size
BACKUP_SIZE=$(du -h "$BACKUP_DIR/$BACKUP_NAME" | cut -f1)
echo ""
echo -e "${BLUE}Backup Details:${NC}"
echo " • Location: $BACKUP_DIR/$BACKUP_NAME"
echo " • Size: $BACKUP_SIZE"
echo ""
# List recent backups
echo -e "${BLUE}Recent Backups:${NC}"
ls -lh "$BACKUP_DIR"/*.tar.gz 2>/dev/null | tail -5