Fix server crashes: tcmalloc and workshop collection issues

- Add automatic tcmalloc disable in start scripts to prevent 'large alloc' segfaults
- Add warnings and documentation about workshop COLLECTION vs addon IDs
- Expand troubleshooting section with solutions for common crashes
- Document that -authkey deprecation warning can be safely ignored

Fixes:
- tcmalloc: large alloc XXXXXXX bytes == (nil) followed by Segmentation fault
- Item is not a collection! error when using addon ID instead of collection ID
- Missing 32-bit libraries warning with installation instructions
This commit is contained in:
openhands
2026-01-20 08:56:59 +00:00
parent dd7759027d
commit e713c9734e
4 changed files with 79 additions and 3 deletions

View File

@@ -123,6 +123,29 @@ docker-compose pull && docker-compose up -d
## 🛠️ Troubleshooting
### Server crashes with "tcmalloc: large alloc" error
This is a memory allocation failure in Google's tcmalloc library. The fix is applied automatically by our start scripts, which disable tcmalloc. If you still see this error:
```bash
# Manually disable tcmalloc
mv /home/gmod/serverfiles/bin/libtcmalloc_minimal.so.4 /home/gmod/serverfiles/bin/libtcmalloc_minimal.so.4.disabled
```
### "Item is not a collection!" error
```
Processing collection XXXXX...
Item is not a collection!
```
**Cause:** You're using an individual addon ID instead of a collection ID.
**Fix:**
1. Go to `https://steamcommunity.com/sharedfiles/filedetails/?id=YOUR_ID`
2. If it shows a single addon (not a "Collection"), you need to create a proper collection
3. Create a new collection on Steam Workshop containing your desired addons
4. Use that collection's ID instead
### "-authkey is no longer required" warning
This warning can be safely ignored. The `-authkey` parameter was deprecated by Garry's Mod and is no longer needed for workshop content.
### Server won't start
- Check that `SRCDS_TOKEN` is set
- Verify ports 27015-27020 are open
@@ -130,13 +153,26 @@ docker-compose pull && docker-compose up -d
### Workshop content not downloading
- Verify collection is public
- Check `WORKSHOP_COLLECTION` is set correctly
- Check `WORKSHOP_COLLECTION` is set correctly (must be a Collection ID, not an addon ID!)
- Ensure server has internet access
### Players can't connect
- Ensure firewall allows UDP/TCP 27015
- Verify server is properly registered with Steam
### Missing 32-bit libraries warning
```
WARNING: Failed to load 32-bit libtinfo.so.5 or libncurses.so.5.
```
Install the required libraries:
```bash
# Debian/Ubuntu
sudo apt-get install lib32tinfo5 libncurses5:i386
# CentOS/RHEL
sudo yum install ncurses-libs.i686
```
## 📜 License
MIT License - Free to use and modify.