본문으로 건너뛰기
WikilyWIKILY
모든 게임위키 29개 · 게임을 선택하세요
전용 서버

게임 전환

위키 29개 · 게임을 선택하세요
Wikily 앱으로 보는 Rust무료 · 4.4★4.6★ · 전체 화면앱 받기앱 받기

러스트 전용 서버 여는 방법

맵 크기, 와이프 요일, 규칙을 직접 정해서 내 러스트 서버를 돌릴 수 있습니다. Facepunch의 서버 프로그램은 무료이고 Windows와 Linux에서 돌아갑니다.

준비물

사람들이 플레이하는 동안 계속 켜 둘 Windows 또는 Linux PC와, Steam 서버를 다운로드하는 Valve의 무료 명령줄 도구 SteamCMD가 필요합니다. 러스트 서버는 Steam 앱 258550이고, 다운로드 용량은 6.1 GB이며 익명 로그인으로 받습니다. 그 PC에는 러스트도 Steam 계정도 필요 없습니다.

플레이어는 각자 Steam판 러스트를 갖고 있어야 합니다. 서버 쪽은 Facepunch 기준 최소 사양이 여유 RAM 12 GB와 디스크 15 GB이고, SSD가 좋습니다. 맵이 크면 둘 다 늘어납니다.

참고로, 테스트 PC에서 플레이어가 없는 1000 m 월드는 RAM 약 2.8 GB에서 안정됐고, 준비되기까지 3분 18초가 걸렸습니다. 풀사이즈 맵은 시간도 더 걸리고 자원도 더 필요합니다.

플레이에는 열린 포트 하나, UDP 28015가 필요합니다. 서버 목록과 Rust+ 모바일 앱은 포트를 두 개 더 씁니다('포트와 방화벽' 참고).

2026년 10월 22일자 러스트 서버 빌드(프로토콜 2635.289.1)로 확인했습니다.

서버 설치

1. Valve에서 SteamCMD를 다운로드해 C:\steamcmd에 압축을 풉니다.

Valve 사이트의 SteamCMD

2. PowerShell이나 명령 프롬프트를 열고 서버를 C:\rust-server에 다운로드합니다:

PowerShell
C:\steamcmd\steamcmd.exe +force_install_dir C:\rust-server +login anonymous +app_update 258550 validate +quit

3. 러스트의 실행 줄은 길어서 파일로 저장해 두는 게 좋습니다. 아래 내용을 C:\rust-server\start-server.bat으로 저장하고 더블클릭합니다:

start-server.bat
cd /d "%~dp0"
RustDedicated.exe -batchmode +server.identity main +server.port 28015 +server.queryport 28017 +rcon.port 28016 +rcon.password "YOUR-ADMIN-PASSWORD" +rcon.web 1 +app.port 28082 +server.hostname "YOUR-SERVER-NAME" +server.maxplayers 60 +server.worldsize 3500 +server.seed 90817 -logfile server-log.txt

로딩에 몇 분이 걸립니다. 창에 Server startup complete가 뜨면 플레이어가 접속할 수 있습니다.

실행 줄

실행 줄의 +이름 값 쌍 하나하나가 월드를 불러오기 전에 콘솔 변수(convar) 하나를 정합니다. 빠진 항목은 서버가 기본값을 씁니다:

옵션기본값설명
-batchmode그래픽 없이 서버를 돌립니다. 항상 넣으세요.
+server.identitymy_server_identityserver/ 아래에서 이 서버의 세이브와 설정을 담는 폴더 이름입니다. identity를 하나 더 만들면 같은 설치본에서 별개의 서버를 하나 더 돌릴 수 있습니다.
+server.port28015게임 포트, UDP. 플레이어는 이 포트로 접속합니다.
+server.queryport28016서버 목록이 쓰는 UDP 포트. 게임 포트와 같으면 안 됩니다.
+rcon.port28015원격 콘솔, TCP.
+rcon.password(없음)원격 콘솔 비밀번호. 직접 긴 비밀번호를 정하세요.
+rcon.web1이면 WebSocket RCON입니다. Facepunch가 권장하고 Facepunch 웹 콘솔도 쓰는 방식입니다.
+app.port28082Rust+ 컴패니언 앱의 TCP 포트, 10000 이상.
+server.hostnameMy Untitled Rust Server서버 목록에 보이는 이름.
+server.maxplayers500동시에 접속할 수 있는 최대 인원.
+server.worldsize4500맵 크기, 1000~6000. 맵이 클수록 로딩이 느리고 RAM을 더 씁니다.
+server.seed1337맵을 생성하는 기준 숫자(0~2147483647).
-logfile콘솔 출력을 파일로 복사합니다.

기본값은 테스트 서버가 로그와 RCON으로 알려 준 값입니다. +server.seed가 없으면 모든 서버가 똑같은 시드 1337 맵을 만듭니다.

서버 설정

재시작해도 남아야 하는 설정은 서버 폴더 안 server\main\cfg에 있는 server.cfg에 넣습니다(main은 server.identity 값). 한 줄에 convar 하나씩, + 없이 씁니다.

처음 시작하면 cfg 폴더가 생기고 users.cfg, bans.cfg, 서버가 직접 쓰는 파일인 serverauto.cfg가 들어 있습니다. server.cfg는 직접 만들기 전까지 없습니다.

server.cfg
server.tags biweekly,softcore,EU
server.description "YOUR-SERVER-DESCRIPTION"
server.url "https://YOUR-WEBSITE"
server.headerimage "https://YOUR-WEBSITE/header.png"
server.pve false
decay.scale 0.5

서버는 시작할 때마다 server.cfg를 읽습니다. 테스트에서 server.cfg와 실행 줄 양쪽에 넣은 convar는 실행 줄의 값이 유지됐고, server.cfg의 나머지 줄은 적용됐습니다. 서버가 server.cfg에 직접 쓰는 일은 없습니다.

Convar기본값설명
server.descriptionNo server description has been provided.플레이어가 접속하기 전에 보는 화면의 문구.
server.url(비어 있음)그 화면에 나오는 웹사이트 링크.
server.headerimage(비어 있음)그 화면에 나오는 배너 이미지 링크.
server.tags(비어 있음)서버 목록 필터용 태그, 쉼표로 구분.
server.pveFalsePvE 모드. true로 하면 pve 태그도 붙습니다.
decay.scale1건물이 부식(decay)되는 속도의 배율.
server.saveinterval600자동 저장 간격(초).

태그는 플레이어가 목록을 거르는 데 씁니다. 와이프 태그(weekly, biweekly, monthly)와 스타일 태그(vanilla, softcore, hardcore)는 각각 하나까지, 그리고 지역 NA, SA, EU, WA, EA, OC, AF 중 하나를 고르세요.

그 밖에 pve, roleplay, creative, minigame, training, battlefield, broyale, builds, tut, premium이 있습니다. 같은 그룹의 태그를 두 개 달면 필터 검색에서 서버가 빠질 수 있습니다.

convar의 현재 값을 보려면 서버 콘솔이나 RCON에서 이름만 입력하세요.

관리자

러스트의 권한은 owner와 moderator 두 가지입니다. 서버 콘솔이나 RCON에서 플레이어의 17자리 SteamID64로 줍니다. status 명령어로 접속 중인 모든 사람과 ID를 볼 수 있습니다:

Server console
ownerid YOUR-STEAMID64 "YOUR-NAME"
moderatorid A-FRIENDS-STEAMID64 "A-FRIENDS-NAME"

그다음 플레이어가 다시 접속합니다. 두 명령어 모두 권한을 바로 cfg/users.cfg에 씁니다. 테스트 서버에서는 server.writecfg를 실행하기 전에 이미 두 줄이 들어 있었습니다. removeowner와 removemoderator로 권한을 뺍니다.

게임 안에서는 관리자가 F1로 콘솔을 열고 명령어를 입력합니다.

명령어설명
status접속 중인 플레이어와 SteamID64를 보여 줍니다.
say <text>채팅으로 모두에게 메시지를 보냅니다.
kick <player> <reason>플레이어를 서버에서 추방합니다.
ban <player> <reason>접속 중인 플레이어를 밴합니다.
banid <SteamID64> <name> <reason>ID로 밴합니다. 접속하지 않은 플레이어도 됩니다.
unban <SteamID64>밴을 풉니다.
server.save지금 월드를 저장합니다.
server.writecfg관리자와 밴 목록을 cfg 폴더에 씁니다.
quit저장하고 서버를 끕니다.

다른 PC에서 관리하려면 Facepunch의 웹 콘솔 facepunch.github.io/webrcon이 RCON 비밀번호로 RCON 포트에 접속합니다. 이 페이지는 암호화되지 않은 HTTP입니다.

포트와 방화벽

플레이어는 UDP 28015로 게임에 접속합니다. 서버 목록은 쿼리 포트로 서버 정보를 읽고, Rust+ 앱은 TCP로 서버와 통신합니다. 위 실행 줄이라면 포트는 UDP 28015, UDP 28017, TCP 28082 세 개입니다.

+server.queryport가 없으면 서버 목록 포트는 게임 포트와 RCON 포트 중 큰 쪽보다 1 높은 번호가 됩니다. rcon.port 없이 돌린 테스트 서버는 UDP 28016으로 목록에 응답했습니다.

관리자 권한 PowerShell에서 Windows 방화벽에 이 포트들을 허용합니다:

PowerShell (administrator)
New-NetFirewallRule -DisplayName "Rust server (UDP)" -Direction Inbound -Protocol UDP -LocalPort 28015,28017 -Action Allow
New-NetFirewallRule -DisplayName "Rust server (Rust+)" -Direction Inbound -Protocol TCP -LocalPort 28082 -Action Allow

공유기에서 같은 세 포트를 서버 PC로 포트포워딩하고, 그 PC의 내부 IP를 고정합니다. 규칙마다 '둘 다'가 아니라 UDP나 TCP를 고르세요. RCON(TCP 28016)은 집 밖에서 서버를 관리할 게 아니라면 포트포워딩하지 않아도 됩니다.

그림: UDP 28015, UDP 28017, TCP 28082가 플레이어에게서 공유기를 거쳐 서버 PC로 가고, RCON용 TCP 28016은 닫혀 있습니다.

Rust+ 컴패니언 앱

Rust+는 app.port로 휴대폰과 서버를 페어링합니다. +app.port가 없을 때 테스트 서버는 TCP 28082를 썼습니다. 포트는 10000 이상이어야 하고, 바꾸면 재시작해야 합니다.

서버는 부팅할 때 외부에서 Rust+로 접속할 수 있는지 확인합니다. 확인에 실패하면 Rust+가 꺼집니다. 포트를 하나도 열지 않은 테스트 서버는 Rust+ companion server connectivity test failed를 기록했습니다. 서버가 companion-rust.facepunch.com에도 접속할 수 있어야 합니다.

Rust+에 주소가 잘못 나오면 app.publicip를 YOUR-SERVER-IP로 정하세요. Rust+를 끄려면 실행 줄에 +app.port 1-을 넣습니다. 여기서는 마이너스가 1 뒤에 옵니다.

identity 폴더 안의 companion.id 파일이 서버의 Rust+ 식별 정보입니다. 절대 지우거나 다른 서버에 주지 마세요. 모든 플레이어가 다시 페어링해야 하고, 지운 파일은 되살릴 수 없습니다.

서버 접속하기

러스트 메인 메뉴에서 F1을 누르고 다음을 입력합니다:

F1 console
client.connect YOUR-SERVER-IP:28015

서버와 같은 네트워크에 있다면 대신 서버의 내부 IP 주소를 쓰세요(ipconfig로 확인). 쿼리 포트가 열리면 서버 브라우저의 Community에도 나오고, 게임을 바꾸는 플러그인을 쓰면 Modded에 나옵니다.

세이브, 와이프, 업데이트

서버 하나가 보관하는 것은 모두 server\main에 있습니다. 한 번 시작하고 저장한 뒤 테스트 서버에는 다음이 있었습니다:

파일내용
proceduralmap.1000.90817.289.sav월드: 건물, 아이템, 설치한 모든 것. 289는 프로토콜 번호에서 온 숫자입니다.
….sav.1직전 세이브. 서버는 이전 사본을 두 개 보관합니다(server.savebackupcount 2).
proceduralmap.1000.90817.289.map생성된 맵. 이름은 크기, 시드, 프로토콜로 정해집니다.
.navmesh, _occlusion_3.dat서버가 맵을 바탕으로 만드는 AI 경로와 시야용 데이터.
player.blueprints.18.db플레이어가 배운 청사진.
player.deaths, .identities, .states플레이어 기록, 각각 .db 파일 하나.
player.tokens.dbRust+ 페어링.
clans.289.db, relationship.289.db클랜과 플레이어 관계.
sv.files.289.db표지판 등 그림을 그릴 수 있는 아이템의 이미지.
companion.id서버의 Rust+ 식별 정보.
cfg/users.cfg, bans.cfg, serverauto.cfg와 직접 만든 server.cfg.
*.db-wal옆에 있는 .db 파일의 최근 변경 내용. 함께 복사하세요.

백업하려면 server.save를 실행하고 서버를 끈 다음 -wal 파일까지 포함해 identity 폴더 전체를 복사합니다. companion.id 때문에 같은 서버에만 되돌려 넣으세요.

와이프

와이프는 서버를 처음부터 다시 시작하는 것입니다. Facepunch의 월간 업데이트로 세이브 이름의 프로토콜 번호가 올라가면 서버가 알아서 새 맵을 만듭니다. 이것이 강제 와이프입니다. 피하려고 예전 .sav 이름을 바꾸지 마세요.

맵을 직접 와이프하려면 서버를 끄고 .sav와 .map 파일을 지우거나 server.seed를 바꿉니다. 청사진(BP) 와이프라면 그때 player.blueprints도 같이 지웁니다.

게임 안 와이프 카운트다운의 기본값은 런던 시간 목요일 19:00입니다. wipetimer.wipeDayofWeek(0은 일요일, 4는 목요일), wipetimer.wipeHourofDay, wipetimer.wipeTimezone으로 바꿉니다.

업데이트

러스트 서버는 스스로 업데이트하지 않습니다. 게임 패치가 나오면 서버를 끄고 설치 단계의 SteamCMD 줄을 다시 실행하세요. 세이브와 cfg 폴더는 그대로 남습니다. 그 전까지는 새 빌드의 플레이어가 접속할 수 없습니다.

플러그인과 모드

플러그인은 커뮤니티 프레임워크인 Oxide(uMod)나 Carbon 위에서 돌아갑니다. Facepunch는 둘 다 문서로 안내하지만 직접 만들지는 않습니다. Oxide라면 서버를 끄고 umod.org의 러스트용 빌드를 서버 폴더에 덮어써서 풀고 다시 시작합니다. 플러그인은 oxide/plugins에 넣습니다.

SteamCMD로 업데이트할 때마다 Oxide 파일이 덮어써지니, 업데이트 후에는 매번 Oxide를 다시 설치하세요. Oxide는 보통 러스트 패치 직후에 맞는 빌드를 내놓습니다.

Facepunch는 게임플레이를 바꾸거나 UI를 추가하는 플러그인(채집 배율, 키트, 정보 패널)을 쓰는 서버를 Modded로 등록하길 원합니다. 관리 도구, 안티치트, 채팅 꾸미기, 바닐라 convar 변경은 Community에 남아도 됩니다. 규칙을 어기면 서버가 목록에서 빠질 수 있습니다.

uMod의 러스트용 Oxide

자주 생기는 문제

친구가 접속하지 못함

Server startup complete가 뜰 때까지 기다리세요. UDP 28015가 올바른 내부 IP로 포트포워딩되어 있고 방화벽에서 허용됐는지 확인하세요. 같은 네트워크 안에서는 대신 내부 IP로 접속합니다.

서버가 서버 목록에 안 나옴

쿼리 포트(이 실행 줄이면 UDP 28017)를 포트포워딩하고, 게임 포트와 다르게 두세요. 아직 로딩 중인 서버는 목록에 나오지 않습니다.

server.cfg의 설정이 적용되지 않음

실행 줄을 확인하세요. convar가 양쪽에 다 있으면 실행 줄의 값이 이깁니다. 테스트 서버에서도 그래서 server.cfg의 maxplayers와 hostname이 무시됐습니다. convar는 한 곳에만 두세요.

플레이어에게 서버 업데이트가 필요하다는 메시지가 뜸

러스트는 패치됐는데 서버는 안 됐습니다. 서버를 끄고 SteamCMD 줄을 다시 실행한 다음, Oxide나 Carbon을 쓰면 다시 설치하세요.

업데이트 후 플러그인이 작동하지 않음

SteamCMD가 Oxide 파일을 기본 게임 파일로 바꿔 놓았습니다. 최신 Oxide 빌드를 다시 설치하세요.

Rust+ 페어링이 안 됨

app.port는 10000 이상이어야 하고 TCP로 포트포워딩해야 합니다. 로그에서 부팅 때의 Rust+ 확인 결과를 보고, 주소가 틀리면 app.publicip를 정하고, companion.id는 그 자리에 두세요.

맵을 불러오는 중에 서버가 튕김

메모리가 부족합니다. Facepunch는 여유 RAM 12 GB를 요구합니다. server.worldsize를 줄이면 덜 필요합니다.

다운로드가 시작되기 전에 SteamCMD가 멈춤

줄에 +login anonymous가 빠졌습니다. +app_update 앞에 넣으세요. 이게 없을 때 테스트의 SteamCMD는 Failed to request app info update로 끝났습니다.

Linux 서버가 Failed to load module steamclient.so와 함께 꺼짐

시작 단계의 export 줄을 같은 셸에서 ./RustDedicated보다 먼저 실행하세요. 그래야 서버가 자기 폴더의 steamclient.so를 찾습니다.

자주 묻는 질문

러스트 서버를 열려면 러스트를 갖고 있어야 하나요?

아니요. SteamCMD는 익명 로그인으로 서버를 받습니다. 플레이어는 각자 Steam판 러스트가 필요합니다.

러스트 서버는 어떤 포트를 포트포워딩해야 하나요?

플레이에는 UDP 28015. 이 페이지의 실행 줄 기준으로, 서버 목록에 나오려면 UDP 28017, Rust+에는 TCP 28082를 추가하세요.

러스트 서버에 RAM이 얼마나 필요한가요?

Facepunch는 최소 12 GB의 여유 RAM을 요구합니다. 작은 1000 m 테스트 맵은 아무도 없을 때 약 2.8 GB를 썼습니다. 맵이 크고 플레이어가 많을수록 더 필요합니다.

내 러스트 서버에서 나를 관리자로 만들려면 어떻게 하나요?

서버 콘솔이나 RCON에서 내 17자리 SteamID64와 이름으로 ownerid를 실행하고 다시 접속하세요. 게임 안에서 콘솔은 F1입니다.

러스트 서버에 비밀번호를 걸 수 있나요?

기본 러스트에서는 안 됩니다. 접속 비밀번호가 없습니다. 테스트 서버에서 find password를 쳐 봐도 RCON 설정만 나왔습니다. 접속할 사람을 제한하려면 플러그인이 필요합니다.

러스트 서버는 언제 와이프되나요?

Facepunch는 월간 업데이트 때 맵을 강제 와이프합니다. 보통 매달 첫째 목요일입니다. 그 사이에는 세이브를 지우면 원할 때 언제든 와이프할 수 있습니다.

러스트 서버를 Linux에서 돌릴 수 있나요?

네. 서버는 Linux용도 나옵니다. Ubuntu 24.04에서 테스트했습니다.

Wikily Servers에서 러스트 서버 호스팅

월 €10.99부터

24시간 무료 체험 · 유럽 서버

서버 대여
크리에이터 커뮤니티에 참여하세요Rust 위키를 만드는 사람들이 저희 Discord에 있어요. 질문하고, 페이지를 제안하거나 함께 위키를 만들어 보세요.Discord 참여 (새 탭에서 Discord가 열립니다)