# 🎮 Garry's Mod PropHunt Server A complete, production-ready PropHunt server setup with automated installation, updates, and Docker support. ## 🚀 Quick Start ### One-Liner Docker Install ```bash curl -fsSL https://git.vish.gg/Vish/gmod-prophunt-server/raw/branch/main/install-docker.sh | bash ``` ### Bare Metal Install ```bash curl -fsSL https://git.vish.gg/Vish/gmod-prophunt-server/raw/branch/main/install.sh | bash ``` ## 📦 What's Included - **Garry's Mod Server** (via SteamCMD) - **MetaMod:Source** - Latest stable version - **SourceMod** - Latest stable version - **PropHunt Gamemode** - Pre-configured - **Essential Plugins**: - ULX Admin Mod - ULib - PropHunt Enhanced - Anti-Cheat basics - Workshop Collection Downloader ## 📁 Directory Structure ``` gmod-prophunt-server/ ├── cfg/ # Server configuration files │ ├── server.cfg # Main server config │ ├── autoexec.cfg # Auto-execute commands │ └── mount.cfg # Content mounting ├── scripts/ # Management scripts │ ├── install.sh # Full installation │ ├── update.sh # Update server & addons │ ├── start.sh # Start server │ └── backup.sh # Backup script ├── docker/ # Docker files │ ├── Dockerfile # Container definition │ └── docker-compose.yml # Compose setup ├── sourcemod/ # SourceMod configuration ├── workshop/ # Workshop collection config └── metamod/ # MetaMod configuration ``` ## ⚙️ Configuration ### Server Settings Edit `cfg/server.cfg` to customize: - Server name - RCON password - Max players - Map rotation - Workshop collection ID ### Workshop Collection The default workshop collection includes essential PropHunt content. To use your own: 1. Create a collection on Steam Workshop 2. Update `WORKSHOP_COLLECTION_ID` in `cfg/server.cfg` 3. Run `./scripts/update.sh` ## 🔧 Management Commands ```bash # Start server ./scripts/start.sh # Update everything (server, addons, plugins) ./scripts/update.sh # Backup server data ./scripts/backup.sh # View logs tail -f /home/gmod/serverfiles/garrysmod/logs/console.log ``` ## 🐳 Docker Management ```bash # Start with Docker Compose docker-compose up -d # View logs docker-compose logs -f # Stop docker-compose down # Update docker-compose pull && docker-compose up -d ``` ## 🔒 Default Ports | Port | Protocol | Purpose | |------|----------|---------| | 27015 | UDP/TCP | Game server | | 27005 | UDP | Client port | | 27020 | UDP | SourceTV | ## 📝 Environment Variables | Variable | Default | Description | |----------|---------|-------------| | `SRCDS_TOKEN` | - | Steam Game Server Token (required) | | `SERVER_NAME` | PropHunt Server | Server name | | `RCON_PASSWORD` | changeme | RCON password | | `MAX_PLAYERS` | 24 | Maximum players | | `MAP` | ph_office | Starting map | | `WORKSHOP_COLLECTION` | - | Workshop collection ID | ## 🔑 Getting a Server Token 1. Go to https://steamcommunity.com/dev/managegameservers 2. Create a new game server account for App ID `4000` (Garry's Mod) 3. Copy the token and set it as `SRCDS_TOKEN` ## 🛠️ Troubleshooting ### Server won't start - Check that `SRCDS_TOKEN` is set - Verify ports 27015-27020 are open - Check logs in `garrysmod/logs/` ### Workshop content not downloading - Verify collection is public - Check `WORKSHOP_COLLECTION` is set correctly - Ensure server has internet access ### Players can't connect - Ensure firewall allows UDP/TCP 27015 - Verify server is properly registered with Steam ## 📜 License MIT License - Free to use and modify. ## 🤝 Contributing Pull requests welcome! Please read the contribution guidelines first.