- 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
146 lines
3.8 KiB
Markdown
146 lines
3.8 KiB
Markdown
# 🎮 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. |