이 가이드는 Legion Hosting의 Onset 전용 서버에 대한 관리자 설정, 콘솔 명령어, Lua 패키지 시스템, 플레이어 및 차량 관리, 데이터베이스 구성을 다룹니다. 초기 서버 설정은 Onset 서버 설정 가이드를 참조하세요.
관리자 설정
Onset은 게임 모드 패키지 내의 Lua 스크립팅을 통해 관리자 권한을 처리합니다. 내장 관리자 시스템을 갖춘 많은 게임과 달리, Onset은 누가 상승된 권한을 가지며 그 권한으로 무엇을 할 수 있는지 정의하기 위해 패키지에 의존합니다.
대부분의 커뮤니티 게임 모드 패키지에는 관리자 시스템이 포함되어 있습니다. 일반적으로 관리자 설정은 다음을 포함합니다:
- GPanel에서 File Manager를 엽니다
- 패키지 디렉터리로 이동합니다(예:
packages/mygamemode/) - 관리자 구성 파일을 찾습니다(보통
config.lua,admins.lua또는 JSON 구성 파일) - 관리자 목록에 Steam64 ID 또는 게임 내 플레이어 ID를 추가합니다
- 파일을 저장하고 서버를 재시작합니다
-- Example: config.lua admin setup
Config = {}
Config.Admins = {
"76561198000000001", -- Your Steam64 ID
"76561198000000002" -- Another admin
}
서버 콘솔 명령어
Onset은 설치된 패키지와 관계없이 작동하는 내장 서버 콘솔 명령어를 제공합니다. 이러한 명령어는 GPanel 콘솔에서 직접 입력할 수 있습니다.
| 명령어 | 설명 |
|---|---|
help |
사용 가능한 모든 콘솔 명령어를 나열합니다 |
stop |
서버를 정상적으로 중지합니다 |
restart |
서버를 재시작합니다 |
players |
접속한 모든 플레이어를 ID와 함께 나열합니다 |
kick <playerid> [reason] |
서버에서 플레이어를 추방합니다 |
ban <playerid> [reason] |
서버에서 플레이어를 차단합니다 |
unban <steamid> |
지정된 Steam ID의 차단을 제거합니다 |
package reload <name> |
서버를 재시작하지 않고 패키지를 다시 로드합니다 |
package start <name> |
현재 실행 중이 아닌 패키지를 시작합니다 |
package stop <name> |
실행 중인 패키지를 중지합니다 |
package list |
로드된 모든 패키지와 상태를 나열합니다 |
패키지 시스템 (Lua 스크립팅)
Onset의 게임플레이는 전적으로 Lua로 작성된 패키지에 의해 정의됩니다. 각 패키지는 서버 및/또는 클라이언트 측에서 실행되는 Lua 스크립트를 포함하는 packages/ 디렉터리 내의 폴더입니다.
패키지 구조
packages/
mygamemode/
package.json <-- Package metadata and file declarations
server/
main.lua <-- Server-side entry point
commands.lua <-- Custom command handlers
client/
main.lua <-- Client-side entry point
ui.lua <-- User interface scripts
패키지 설치
- Onset 커뮤니티 포럼 또는 GitHub 리포지토리에서 패키지를 다운로드합니다
- SFTP를 통해 서버에 연결합니다
- 패키지 폴더를
packages/디렉터리에 업로드합니다 - File Manager에서
server_config.json을 엽니다 "packages"배열에 패키지 폴더 이름을 추가합니다- GPanel을 통해 서버를 재시작합니다
// server_config.json - Adding packages
{
"packages": [
"roleplay",
"admintools",
"vehicleshop"
]
}
"packages" 배열의 패키지는 나열된 순서대로 로드됩니다. 한 패키지가 다른 패키지에 종속되어 있는 경우, 종속 대상이 먼저 나열되어 있는지 확인하세요.
플레이어 관리
내장된 추방 및 차단 명령어 외에도, 대부분의 게임 모드 패키지는 추가적인 플레이어 관리 기능을 제공합니다. 일반적인 패키지 제공 명령어는 다음과 같습니다:
| 명령어 (패키지 종속) | 설명 |
|---|---|
/tp <player> |
다른 플레이어에게 순간이동합니다 |
/bring <player> |
다른 플레이어를 본인의 위치로 순간이동시킵니다 |
/goto <x> <y> <z> |
특정 월드 좌표로 순간이동합니다 |
/setadmin <player> <level> |
플레이어의 관리자 레벨을 설정합니다(패키지가 등급을 지원하는 경우) |
/announce <message> |
서버 전체에 공지를 보냅니다 |
차량 관리
Onset에는 패키지가 확장할 수 있는 내장 차량 시스템이 있습니다. 관리자는 서버 혼잡을 방지하기 위해 스폰된 차량을 관리해야 하는 경우가 많습니다.
- 차량 스폰 — 대부분의 RP 패키지는 관리자가
/car <model>과 같은 명령어로 차량을 스폰할 수 있도록 합니다 - 차량 정리 — 일부 패키지에는 버려진 차량의 자동 소멸 기능이나
/destroyvehicles와 같은 관리자 명령어가 포함되어 있습니다 - 차량 제한 — 너무 많은 스폰된 엔티티로 인한 렉을 방지하기 위해 플레이어당 최대 차량 수를 구성합니다
데이터베이스 (MariaDB)
Onset은 영구 데이터 저장을 위한 MariaDB/MySQL 데이터베이스 연결을 지원합니다. 이는 롤플레이 및 기타 게임 모드 패키지에서 플레이어 데이터, 인벤토리, 부동산 등을 저장하는 데 사용됩니다.
데이터베이스 구성은 패키지의 구성 파일 내에서 처리됩니다. 일반적인 설정:
-- Database configuration in package config
Database = {
host = "127.0.0.1",
port = 3306,
username = "onset_user",
password = "your_password",
database = "onset_gamemode"
}
문제 해결
| 문제 | 해결책 |
|---|---|
| 서버는 시작되지만 사용 가능한 게임플레이가 없음 | 최소한 하나의 게임 모드 패키지가 설치되어 server_config.json에 나열되어 있어야 합니다. 기본 Onset 서버에는 내장 게임플레이가 없습니다. |
| 패키지 로드 실패 | GPanel 콘솔에서 Lua 오류 메시지를 확인하세요. 일반적인 원인: package.json 누락, Lua 파일의 구문 오류, 또는 종속성 누락. |
| 데이터베이스 연결 오류 | 데이터베이스 자격 증명을 확인하고, 데이터베이스가 존재하는지 확인하고, MariaDB 서비스가 실행 중인지 확인하세요. 콘솔 로그에서 연결을 테스트하세요. |
| 브라우저에서 서버가 보이지 않음 | server_config.json에 "visible": true가 설정되어 있는지 확인하세요. 또한 쿼리 포트로 7776(TCP)에 접근할 수 있는지 확인하세요. |
| 높은 지연 시간 또는 렉 | streamdistance 값을 낮추고, CPU 사용량이 높으면 tickrate를 줄이고, 패키지에 비효율적인 Lua 스크립트가 있는지 확인하세요. |
관련 문서
도움이 필요하신가요?
Onset 서버에 문제가 발생하거나 추가 지원이 필요한 경우, 저희 지원 팀이 도와드리겠습니다. 지원 티켓을 제출하시면 최대한 빨리 답변드리겠습니다.