이 가이드는 Legion Hosting으로 Garry's Mod 전용 서버를 운영할 때 발생할 수 있는 일반적인 문제와 그 원인 및 해결 방법을 다룹니다.
서버 설정: 아직 서버를 구성하지 않았다면, 먼저 Garry's Mod 서버 설정 가이드를 참조하세요. 관리자 모드 문제는 Garry's Mod 관리자 설정 (ULX)을 참조하세요.
목차
- 누락된 텍스처 / 분홍색과 검은색 체크무늬
- Workshop 애드온이 다운로드되지 않음
- 서버가 서버 브라우저에 나타나지 않음
- DarkRP 직업이 나타나지 않음
- ULX 명령어가 작동하지 않음
- 높은 핑 / 렉
- 시작 시 서버 충돌
- 클라이언트가 "Downloading"에 멈춰 있거나 느린 접속
1. 누락된 텍스처 / 분홍색과 검은색 체크무늬
원인: Garry's Mod는 다른 Valve 게임(Counter-Strike: Source, Half-Life 2 등)의 에셋을 포함하지 않습니다. 많은 커뮤니티 맵과 애드온이 CS:S 텍스처를 사용합니다.
서버 측 해결 방법
- Counter-Strike: Source 마운트: GPanel에서 요금제에 추가 게임 콘텐츠 마운트가 포함되어 있는지 확인하세요. 사용 가능하다면 서버 설정에서 CS:S 마운트를 활성화하세요.
- CSS 콘텐츠 애드온: Garry's Mod Workshop에서 커뮤니티 CS:S 콘텐츠 팩을 서버의 Workshop 컬렉션에 추가하세요. "Counter-Strike: Source Content"를 검색하여 추가하세요.
- 수동 업로드: 위의 두 옵션 모두 사용할 수 없다면, SFTP를 통해 CS:S 콘텐츠 파일을
garrysmod/addons/css-content/에 수동으로 업로드할 수 있습니다. 지침은 SFTP 업로드 가이드를 참조하세요.
클라이언트 측 해결 방법
Counter-Strike: Source를 소유한 플레이어는 GMod의 Options → Game Content에서 마운트할 수 있습니다. 이는 서버 변경 없이 플레이어 측에서 누락된 텍스처를 해결합니다.
2. Workshop 애드온이 다운로드되지 않음
서버가 시작 시 Workshop 애드온을 로드하지 않는 경우, 다음을 확인하세요:
| 확인 사항 | 해결 방법 |
|---|---|
| Steam API 키 누락 또는 유효하지 않음 | GPanel의 Startup에서 STEAM_API_KEY 변수를 steamcommunity.com/dev/apikey의 유효한 키로 설정하세요. |
| 컬렉션이 공개가 아님 | Workshop 컬렉션은 Public으로 설정되어야 합니다. 비공개 또는 일부 공개 컬렉션은 전용 서버에서 다운로드되지 않습니다. |
| 컬렉션 ID가 잘못된 위치에 있음 | +host_workshop_collection 매개변수는 server.cfg가 아니라 GPanel Startup 명령줄에 있어야 합니다. |
| 콘솔에서 403 / 인증 오류 | Steam API 키가 유효하지 않거나 취소되었습니다. 새 키를 생성하고 GPanel에서 업데이트하세요. |
팁: 재시작 후 GPanel에서 서버 콘솔 출력을 확인하세요. Workshop 다운로드 오류는 실패한 특정 Workshop ID와 함께 시작 로그 초반에 나타납니다.
3. 서버가 서버 브라우저에 나타나지 않음
서버가 실행 중이지만 Steam 서버 브라우저에 표시되지 않는 경우:
sv_lan확인:server.cfg에sv_lan 0이 설정되어 있는지 확인하세요.1값은 서버를 LAN 전용으로 만듭니다.- GSLT 확인:
sv_setsteamaccount를 통해 유효한 게임 서버 로그인 토큰이 설정되어 있는지 확인하세요. 만료되거나 취소된 토큰은 공개 목록을 방해합니다. steamcommunity.com/dev/managegameservers에서 새 토큰을 생성하세요. - 몇 분 기다리기: 첫 시작 후 새 서버가 Steam 마스터 서버 목록에 나타나는 데 몇 분이 걸릴 수 있습니다.
- 직접 연결로 테스트: 서버가 실제로 실행 중인지 확인하려면 먼저 직접 IP를 통해 접속해 보세요(접속 지침 참조).
GSLT 차단: Steam은 남용이나 특정 서버 측 수정을 감지하면 GSLT를 차단할 수 있습니다. 토큰이 차단된 경우, 새 토큰을 생성해야 하며 Steam 지원에 문의해야 할 수도 있습니다.
4. DarkRP 직업이 나타나지 않음
DarkRP를 설정한 후 커스텀 직업이 F4 메뉴에 표시되지 않는 경우:
- 폴더 위치 확인: DarkRP 자체는
addons/가 아니라garrysmod/gamemodes/darkrp/에 있어야 합니다. DarkRPModification은garrysmod/addons/darkrpmodification/에 있어야 합니다. 이것이 가장 흔한 실수입니다. - Lua 오류 확인: GPanel에서 서버 콘솔을 열고 시작 중 Lua 오류를 찾으세요.
jobs.lua의 구문 오류는 모든 커스텀 직업이 로드되지 않게 합니다. - 게임모드 확인:
server.cfg에sv_gamemode "darkrp"가 설정되어 있고 서버가 완전히 재시작되었는지(맵만 변경된 것이 아니라) 확인하세요. - 파일 인코딩 확인: Windows에서 Lua 파일을 편집한 경우, BOM 없는 UTF-8로 저장되었는지 확인하세요. 일부 텍스트 편집기는 Lua 파싱을 깨뜨릴 수 있는 BOM(바이트 순서 표시)을 추가합니다.
빠른 디버깅 단계
// Run these in the server console to check gamemode status:
lua_run print(engine.ActiveGamemode())
// Should output: darkrp
lua_run PrintTable(RPExtraTeams)
// Should list all custom jobs if DarkRP loaded correctly
5. ULX 명령어가 작동하지 않음
설치 후 ULX 명령어가 오류를 반환하거나 아무것도 하지 않는 경우:
- 두 애드온 모두 설치되었나요? ULX는 ULib와 ULX가 모두 필요합니다. ULX는 ULib 없이 작동하지 않습니다. 둘 다
garrysmod/addons/또는 Workshop 컬렉션에 있는지 확인하세요. - 콘솔에서 오류 확인: 시작 중 GPanel의 서버 콘솔 출력에서 ULib 또는 ULX를 언급하는 오류를 찾으세요.
- 사용자 할당 확인: 정확한 Steam 표시 이름으로
ulx adduser를 실행하거나, 신뢰성을 위해 Steam ID로ulx adduserid "STEAM_0:1:12345678" superadmin을 사용하세요. - 애드온 충돌: 일부 애드온은 ULX와 충돌할 수 있습니다. 새 애드온을 추가한 후 명령어가 작동을 멈췄다면, 그것을 제거하고 재시작하여 문제를 격리해 보세요.
자세한 ULX 설정 지침은 Garry's Mod 관리자 설정 (ULX) 가이드를 참조하세요.
6. 높은 핑 / 렉
서버에서 높은 핑이나 렉 스파이크가 발생하는 경우:
- 너무 많은 애드온: 큰 Workshop 컬렉션은 메모리 사용량과 로딩 시간을 증가시킵니다. 컬렉션을 검토하고 적극적으로 사용하지 않는 애드온을 제거하세요.
- 엔티티 과부하 (DarkRP): 스폰 가능한 엔티티(머니 프린터, 마약 연구소 등)가 많은 DarkRP 서버는 CPU 집약적일 수 있습니다.
darkrpmodification/lua/darkrp_config/settings.lua에서 합리적인 엔티티 제한을 설정하세요. - 자동 저장 렉 스파이크: 일정한 간격으로(몇 분마다) 렉 스파이크가 발생하면, 서버 자동 저장일 수 있습니다. 이는 정상적인 동작이지만 간격을 조정할 수 있습니다.
- 플레이어 수 대 요금제: 플레이어 수가 요금제의 리소스가 처리할 수 있는 것을 초과하지 않는지 확인하세요. 리소스 한계에 가깝다면
server.cfg에서maxplayers를 낮추는 것을 고려하세요. - 맵 복잡성: 일부 커뮤니티 맵은 최적화가 잘 되어 있지 않습니다. 맵 전환 후 렉이 시작되었다면, 문제를 격리하기 위해 더 단순한 맵으로 되돌려 보세요.
7. 시작 시 서버 충돌
서버가 충돌하거나 시작에 실패하는 경우:
- 콘솔 로그 확인: GPanel에서 충돌 전 콘솔 출력을 검토하세요. 마지막 몇 줄이 보통 원인을 나타냅니다.
- 잘못된 애드온: 최근에 추가한 애드온이 충돌을 일으킬 수 있습니다. 마지막으로 추가한 애드온을 제거하고 재시작해 보세요. 서버가 시작되면 해당 애드온이 문제입니다.
- 손상된 게임모드 파일: DarkRP 또는 다른 서드파티 게임모드를 사용하는 경우, Workshop 또는 GitHub에서 새로 재설치해 보세요.
- 메모리 부족: 너무 많은 애드온이 요금제의 메모리 할당을 초과할 수 있습니다. GPanel에서 리소스 사용량을 확인하고 애드온 목록을 줄이는 것을 고려하세요.
잘못된 애드온 격리: 어떤 애드온이 서버를 충돌시키는지 식별할 수 없다면, Workshop 컬렉션에서 모든 애드온을 제거하고 원인을 찾을 때까지 사이에 재시작하면서 하나씩 다시 추가하세요.
8. 클라이언트가 "Downloading"에 멈춰 있거나 느린 접속
플레이어가 접속할 때 콘텐츠 다운로드에 오래 멈춰 있는 경우:
- FastDL 설정: FastDL 없이는 클라이언트가 게임 서버를 통해 직접 파일을 다운로드하는데 이는 매우 느립니다. 서버 설정 가이드의 FastDL 섹션을 참조하세요.
- 애드온에 Workshop 사용: Workshop을 통해 전달되는 애드온은 Steam의 CDN을 통해 다운로드되며, 이는 직접 서버 다운로드보다 빠릅니다. 가능한 경우 수동 애드온 업로드보다 Workshop 컬렉션을 선호하세요.
- 애드온 수 줄이기: 각 애드온은 클라이언트 다운로드 시간을 증가시킵니다. 서버 게임플레이에 필수적이지 않은 애드온을 제거하세요.
resource.AddFile사용 확인:resource.lua를 통해 클라이언트가 많은 파일을 다운로드하도록 강제하고 있다면, 목록을 검토하고 실제로 클라이언트 측에서 필요하지 않은 파일의 항목을 제거하세요.
관련 문서
- Garry's Mod 서버 설정 가이드 — Server.cfg, Workshop, 게임모드, DarkRP, FastDL
- Garry's Mod 관리자 설정 (ULX) — ULX/ULib 설치, 관리자 명령어, 권한 그룹
- SFTP를 통해 파일 업로드하는 방법
- 서버 IP 및 포트 찾는 방법
여전히 해결되지 않나요? 위의 해결 방법 중 어느 것도 문제를 해결하지 못한다면, 지원 티켓을 열고 서버 IP, 문제에 대한 설명, 관련 콘솔 출력이나 오류 메시지를 포함해 주세요.