Cách tạo Dedicated Server Rust
Tự chạy server Rust của riêng bạn với kích thước map, ngày wipe và luật do bạn chọn. Chương trình server của Facepunch miễn phí và chạy trên Windows lẫn Linux.
Bạn cần gì
Một PC Windows hoặc Linux luôn bật trong lúc mọi người chơi, và SteamCMD, công cụ dòng lệnh miễn phí của Valve để tải server Steam. Server Rust là Steam app 258550, tải về 6.1 GB với đăng nhập ẩn danh, nên PC đó không cần có Rust lẫn tài khoản Steam.
Mỗi người chơi cần có Rust riêng trên Steam. Về phía server, mức tối thiểu của Facepunch là 12 GB RAM trống và 15 GB ổ đĩa, tốt nhất là SSD; map lớn thì cần nhiều hơn cả hai.
Để dễ hình dung: trên PC thử nghiệm của chúng tôi, một thế giới 1000 m không có người chơi ổn định ở khoảng 2.8 GB RAM và mất 3 phút 18 giây để sẵn sàng. Map kích thước đầy đủ mất lâu hơn và cần nhiều hơn.
Để chơi chỉ cần mở một port, UDP 28015. Danh sách server và app điện thoại Rust+ dùng thêm hai port nữa, xem phần “Port và tường lửa”.
Đã kiểm tra với bản server Rust ngày 22 tháng 10 năm 2026 (protocol 2635.289.1).
Cài đặt server
1. Tải SteamCMD từ Valve và giải nén vào C:\steamcmd.
2. Mở PowerShell hoặc Command Prompt và tải server về C:\rust-server:
C:\steamcmd\steamcmd.exe +force_install_dir C:\rust-server +login anonymous +app_update 258550 validate +quit3. Dòng khởi động của Rust rất dài, nên hãy lưu nó vào file. Lưu nội dung này thành C:\rust-server\start-server.bat rồi nhấp đúp vào nó:
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.txtViệc tải mất vài phút. Người chơi vào được khi cửa sổ hiện Server startup complete.
Chúng tôi đã thử các bước này trên Ubuntu 24.04. SteamCMD của Valve cần thư viện GCC 32-bit (lib32gcc-s1); thiếu nó, steamcmd.sh dừng ngay.
sudo apt update
sudo apt install lib32gcc-s1 curl screen
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sSL https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xz
./steamcmd.sh +force_install_dir ~/rust-server +login anonymous +app_update 258550 validate +quitKhởi động server trong một phiên screen để nó vẫn chạy khi bạn đăng xuất:
cd ~/rust-server
export LD_LIBRARY_PATH=~/rust-server:~/rust-server/RustDedicated_Data/Plugins/x86_64
screen -S rust ./RustDedicated -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.txtGiữ lại dòng export. Server chỉ nạp steamclient.so của Steam từ thư mục của chính nó khi thư mục đó nằm trong LD_LIBRARY_PATH. Thiếu dòng này, server của chúng tôi tạo xong map rồi thoát với Failed to load module steamclient.so.
Ctrl+A rồi D để rời phiên; screen -r rust để quay lại. Console trên Linux không nhận lệnh gõ vào, nên hãy dùng RCON để quản trị (xem phần Admin).
Facepunch không phát hành Docker image. Bản thử của chúng tôi chạy các bước Linux ở trên với quyền root trong một container ubuntu:24.04 trống, có cả dòng export.
Dòng khởi động
Mỗi cặp +tên giá_trị trong dòng khởi động đặt một biến console (convar) trước khi thế giới được tải. Bỏ cặp nào thì server dùng giá trị mặc định của nó:
| Tùy chọn | Mặc định | Tác dụng |
|---|---|---|
-batchmode | Chạy server không có đồ họa. Luôn thêm vào. | |
+server.identity | my_server_identity | Tên thư mục trong server/ chứa save và thiết lập của server này. Một identity thứ hai cho bạn một server thứ hai, tách biệt, từ cùng bản cài. |
+server.port | 28015 | Port game, UDP. Người chơi kết nối vào port này. |
+server.queryport | 28016 | Port UDP mà danh sách server dùng. Không được trùng port game. |
+rcon.port | 28015 | Console từ xa, TCP. |
+rcon.password | (không có) | Mật khẩu cho console từ xa. Hãy tự đặt một mật khẩu dài. |
+rcon.web | 1 là WebSocket RCON, loại Facepunch khuyên dùng và web console của họ cũng dùng. | |
+app.port | 28082 | Port TCP của app đồng hành Rust+, từ 10000 trở lên. |
+server.hostname | My Untitled Rust Server | Tên hiển thị trong danh sách server. |
+server.maxplayers | 500 | Số người chơi online tối đa cùng lúc. |
+server.worldsize | 4500 | Kích thước map, 1000 đến 6000. Map càng lớn tải càng chậm và tốn càng nhiều RAM. |
+server.seed | 1337 | Số (0 đến 2147483647) dùng để tạo map. |
-logfile | Chép output của console vào một file. | |
Giá trị mặc định do server thử nghiệm của chúng tôi báo trong log và qua RCON. Không có +server.seed, mọi server đều tạo cùng một map seed 1337.
Thiết lập server
Thiết lập cần giữ qua mọi lần khởi động lại thì ghi vào server.cfg, trong server\main\cfg bên trong thư mục server (main là server.identity của bạn). Mỗi dòng một convar, không có dấu +.
Lần khởi động đầu tiên tạo thư mục cfg với users.cfg, bans.cfg và serverauto.cfg, file do server tự ghi. server.cfg chưa có cho đến khi bạn tạo nó.
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.5Server đọc server.cfg mỗi lần khởi động. Khi chúng tôi thử, convar đặt ở cả hai nơi giữ giá trị của dòng khởi động; các dòng khác của server.cfg vẫn có hiệu lực. Server không bao giờ tự ghi vào server.cfg.
| Convar | Mặc định | Tác dụng |
|---|---|---|
server.description | No server description has been provided. | Chữ trên màn hình người chơi thấy trước khi vào server. |
server.url | (trống) | Link website trên màn hình đó. |
server.headerimage | (trống) | Link ảnh banner trên màn hình đó. |
server.tags | (trống) | Tag lọc cho danh sách server, cách nhau bằng dấu phẩy. |
server.pve | False | Chế độ PvE. Đặt thành true cũng thêm tag pve. |
decay.scale | 1 | Hệ số tốc độ xuống cấp (decay) của công trình. |
server.saveinterval | 600 | Số giây giữa các lần lưu tự động. |
Tag giúp người chơi lọc danh sách. Chọn tối đa một tag wipe (weekly, biweekly, monthly), một tag phong cách (vanilla, softcore, hardcore) và một khu vực: NA, SA, EU, WA, EA, OC hoặc AF.
Tag thêm gồm pve, roleplay, creative, minigame, training, battlefield, broyale, builds, tut và premium. Hai tag cùng một nhóm có thể khiến server không hiện trong kết quả lọc.
Để xem giá trị hiện tại của một convar, chỉ cần gõ tên nó trong console server hoặc qua RCON.
Admin
Rust có hai cấp: owner và moderator. Cấp quyền trong console server hoặc qua RCON, bằng SteamID64 17 chữ số của người chơi. Lệnh status liệt kê mọi người đang online kèm ID:
ownerid YOUR-STEAMID64 "YOUR-NAME"
moderatorid A-FRIENDS-STEAMID64 "A-FRIENDS-NAME"Sau đó người chơi kết nối lại. Cả hai lệnh ghi quyền vào cfg/users.cfg ngay; file của chúng tôi đã có hai dòng đó trước khi chạy server.writecfg. removeowner và removemoderator để gỡ quyền.
Trong game, admin mở console bằng F1 và gõ lệnh ở đó.
| Lệnh | Tác dụng |
|---|---|
status | Hiện người chơi đang online kèm SteamID64. |
say <text> | Gửi tin nhắn cho mọi người trong chat. |
kick <player> <reason> | Đá người chơi ra khỏi server. |
ban <player> <reason> | Ban người chơi đang online. |
banid <SteamID64> <name> <reason> | Ban theo ID, cả người chơi đang offline. |
unban <SteamID64> | Gỡ ban. |
server.save | Lưu thế giới ngay. |
server.writecfg | Ghi danh sách admin và ban vào thư mục cfg. |
quit | Lưu và tắt server. |
Để quản trị từ PC khác, web console của Facepunch tại facepunch.github.io/webrcon kết nối vào port RCON bằng mật khẩu RCON của bạn. Trang đó dùng HTTP không mã hóa.
Port và tường lửa
Người chơi vào game qua UDP 28015. Danh sách server đọc thông tin server qua port query, còn app Rust+ nói chuyện với server qua TCP. Với dòng khởi động ở trên là ba port: UDP 28015, UDP 28017 và TCP 28082.
Không có +server.queryport, port danh sách server bằng port lớn hơn trong hai port game và RCON cộng thêm một. Server thử nghiệm không có rcon.port của chúng tôi trả lời danh sách trên UDP 28016.
Cho phép các port này qua Windows Firewall, trong PowerShell chạy với quyền 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 AllowTrên router, forward ba port đó đến PC server và đặt IP nội bộ cố định cho PC đó. Mỗi rule chọn UDP hoặc TCP, đừng chọn kiểu cả hai. RCON (TCP 28016) không cần forward, trừ khi bạn quản lý server từ ngoài mạng nhà.
App đồng hành Rust+
Rust+ ghép điện thoại với server qua app.port. Không có +app.port, server thử nghiệm của chúng tôi dùng TCP 28082. Port phải từ 10000 trở lên, và đổi port thì phải khởi động lại.
Khi khởi động, server kiểm tra xem Rust+ có kết nối được từ bên ngoài không. Nếu thất bại, Rust+ bị tắt; server thử nghiệm chưa mở port nào của chúng tôi ghi log Rust+ companion server connectivity test failed. Server cũng cần kết nối được tới companion-rust.facepunch.com.
Nếu Rust+ hiện sai địa chỉ, đặt app.publicip thành YOUR-SERVER-IP. Để tắt Rust+, thêm +app.port 1- vào dòng khởi động; dấu trừ nằm sau số 1.
File companion.id trong thư mục identity là danh tính Rust+ của server. Đừng bao giờ xóa hay đưa nó cho server khác: mọi người chơi sẽ phải ghép lại, và file đã xóa thì không lấy lại được.
Vào server
Ở menu chính của Rust, bấm F1 và gõ:
client.connect YOUR-SERVER-IP:28015Nếu ở cùng mạng với server, hãy dùng IP nội bộ của nó (ipconfig sẽ hiện). Khi port query đã mở, server cũng hiện trong mục Community của trình duyệt server, hoặc trong Modded nếu nó chạy plugin thay đổi game.
Save, wipe và cập nhật
Mọi thứ một server lưu nằm trong server\main. Sau một lần khởi động và một lần lưu, thư mục của chúng tôi có:
| File | Chứa gì |
|---|---|
proceduralmap.1000.90817.289.sav | Thế giới: công trình, vật phẩm và mọi thứ đã đặt. 289 lấy từ số protocol. |
….sav.1 | Bản save trước đó. Server giữ hai bản cũ (server.savebackupcount 2). |
proceduralmap.1000.90817.289.map | Map đã tạo, đặt tên theo kích thước, seed và protocol. |
.navmesh, _occlusion_3.dat | Dữ liệu server dựng từ map cho đường đi của AI và tầm nhìn. |
player.blueprints.18.db | Bản học (BP) người chơi đã học. |
player.deaths, .identities, .states | Hồ sơ người chơi, mỗi loại một file .db. |
player.tokens.db | Các ghép nối Rust+. |
clans.289.db, relationship.289.db | Clan và quan hệ giữa người chơi. |
sv.files.289.db | Hình trên biển hiệu và các vật phẩm vẽ được khác. |
companion.id | Danh tính Rust+ của server. |
cfg/ | users.cfg, bans.cfg, serverauto.cfg và server.cfg của bạn. |
*.db-wal | Thay đổi gần đây của file .db bên cạnh. Hãy chép chúng cùng nhau. |
Để sao lưu, chạy server.save, tắt server và chép toàn bộ thư mục identity, kể cả các file -wal. Chỉ khôi phục lên đúng server đó, vì có companion.id.
Wipe
Wipe là cho server bắt đầu lại từ đầu. Bản cập nhật hằng tháng của Facepunch tăng số protocol trong tên save, nên server tự tạo map mới: đó là force wipe. Đừng đổi tên file .sav cũ để né nó.
Để tự wipe map, tắt server và xóa các file .sav và .map, hoặc đổi server.seed. Muốn wipe BP, xóa luôn player.blueprints cùng lúc.
Đồng hồ đếm ngược wipe trong game mặc định là thứ Năm lúc 19:00 giờ London. Đổi bằng wipetimer.wipeDayofWeek (0 là Chủ nhật, 4 là thứ Năm), wipetimer.wipeHourofDay và wipetimer.wipeTimezone.
Cập nhật
Server Rust không tự cập nhật. Sau mỗi bản patch game, tắt server và chạy lại dòng SteamCMD ở bước cài đặt: save và thư mục cfg được giữ nguyên. Trước khi làm vậy, người chơi có bản mới không vào được.
Plugin và mod
Plugin chạy trên một framework cộng đồng, Oxide (uMod) hoặc Carbon. Facepunch có tài liệu cho cả hai nhưng không làm cái nào. Với Oxide, tắt server, giải nén bản cho Rust từ umod.org đè lên thư mục server rồi khởi động lại. Plugin để trong oxide/plugins.
Mỗi lần cập nhật bằng SteamCMD sẽ ghi đè file của Oxide, nên hãy cài lại Oxide sau mỗi lần cập nhật. Oxide thường ra bản tương ứng ngay sau khi Rust có patch.
Facepunch muốn server có plugin thay đổi gameplay hoặc thêm giao diện (tỉ lệ thu thập, kit, bảng thông tin) nằm trong Modded. Công cụ admin, anti-cheat, trang trí chat và chỉnh convar vanilla có thể ở lại Community. Vi phạm có thể khiến server bị gỡ khỏi danh sách.
Lỗi thường gặp
Bạn bè không kết nối được
Đợi đến khi hiện Server startup complete. Kiểm tra UDP 28015 đã được forward đến đúng IP nội bộ và được cho phép trong tường lửa. Từ trong mạng nhà, hãy kết nối bằng IP nội bộ.
Server không hiện trong danh sách server
Forward port query (UDP 28017 với dòng khởi động của chúng tôi) và để nó khác port game. Server vẫn đang tải thì chưa được liệt kê.
Một thiết lập trong server.cfg không có tác dụng
Kiểm tra dòng khởi động. Khi một convar có ở cả hai nơi, giá trị của dòng khởi động thắng; trên server thử nghiệm, maxplayers và hostname trong server.cfg bị bỏ qua vì vậy. Mỗi convar chỉ để ở một nơi.
Người chơi nhận thông báo server cần cập nhật
Rust đã có patch nhưng server thì chưa. Tắt server, chạy lại dòng SteamCMD, rồi cài lại Oxide hoặc Carbon nếu bạn dùng.
Plugin ngừng hoạt động sau khi cập nhật
SteamCMD đã thay file của Oxide bằng file game gốc. Hãy cài lại bản Oxide mới nhất.
Rust+ không ghép được
app.port phải từ 10000 trở lên và được forward dạng TCP. Xem log phần kiểm tra Rust+ lúc khởi động, đặt app.publicip nếu địa chỉ sai, và để companion.id yên tại chỗ.
Server crash khi đang tải map
Server thiếu bộ nhớ. Facepunch yêu cầu 12 GB RAM trống; server.worldsize nhỏ hơn thì cần ít hơn.
SteamCMD dừng trước khi bắt đầu tải
Dòng lệnh thiếu +login anonymous. Thêm nó vào trước +app_update. Thiếu nó, SteamCMD của chúng tôi kết thúc với Failed to request app info update.
Server Linux thoát với Failed to load module steamclient.so
Chạy dòng export ở bước khởi động trong cùng shell trước ./RustDedicated, để server tìm thấy steamclient.so trong thư mục của chính nó.
Câu hỏi
Tôi có cần sở hữu Rust để tạo server Rust không?
Không. SteamCMD tải server với đăng nhập ẩn danh. Mỗi người chơi cần có Rust trên Steam.
Server Rust cần forward port nào?
UDP 28015 để chơi. Thêm UDP 28017 để hiện trong danh sách server và TCP 28082 cho Rust+, với dòng khởi động trên trang này.
Server Rust cần bao nhiêu RAM?
Facepunch yêu cầu ít nhất 12 GB trống. Map thử nghiệm nhỏ 1000 m của chúng tôi dùng khoảng 2.8 GB khi không có ai online; map lớn hơn và nhiều người chơi hơn thì cần nhiều hơn.
Làm sao để tự cấp admin cho mình trên server Rust?
Chạy ownerid với SteamID64 17 chữ số của bạn và một cái tên, trong console server hoặc qua RCON, rồi vào lại. Trong game, console nằm ở F1.
Tôi có đặt mật khẩu cho server Rust được không?
Rust gốc thì không: không có mật khẩu vào server. Trên server thử nghiệm của chúng tôi, find password chỉ liệt kê các thiết lập RCON. Muốn giới hạn ai được vào thì cần plugin.
Khi nào server Rust wipe?
Facepunch force wipe map cùng bản cập nhật hằng tháng, thường vào thứ Năm đầu tiên của tháng. Giữa các lần đó, bạn wipe lúc nào tùy thích bằng cách xóa save.
Tôi có chạy được server Rust trên Linux không?
Có. Server có cả bản cho Linux. Chúng tôi đã thử trên Ubuntu 24.04.
Wikily Servers cung cấp server Rust
Từ 10,99 € mỗi tháng

