All Projects → Didstopia → Rust Server

Didstopia / Rust Server

Licence: mit
Provides a dedicated linux server for Rust (the game) running inside a Docker container.

Programming Languages

shell
77523 projects
rust
11053 projects

Projects that are alternatives of or similar to Rust Server

Blog
Lawler's Blog 不定期分享一些前端技术
Stars: ✭ 102 (-10.53%)
Mutual labels:  server
Alchemy
Elegant, batteries included web framework for Swift.
Stars: ✭ 108 (-5.26%)
Mutual labels:  server
Mmo Server
Distributed Java game server, including login, gateway, game demo
Stars: ✭ 114 (+0%)
Mutual labels:  server
Deta cache
缓存cache服务器
Stars: ✭ 106 (-7.02%)
Mutual labels:  server
Micro
Micro is a distributed cloud operating system
Stars: ✭ 10,778 (+9354.39%)
Mutual labels:  server
Node Hot Loader
Hot module replacement (hot reload) for Node.js applications. Develop without server restarting.
Stars: ✭ 111 (-2.63%)
Mutual labels:  server
Ts3admin.class
The ts3admin.class is a powerful api for communication with Teamspeak 3 Servers from your website! Your creativity knows no bounds!
Stars: ✭ 103 (-9.65%)
Mutual labels:  server
Quicssh
SSH over QUIC
Stars: ✭ 116 (+1.75%)
Mutual labels:  server
Gin
Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
Stars: ✭ 53,971 (+47242.98%)
Mutual labels:  server
Tcprstat
服务器时延统计工具,在原有功能基础上,增加时延阈值统计,记录超过阈值的包个数,并把数据包时间戳记录到日志文件,这样可以根据时间戳快速定位到抓包文件中对应的包,从而可以快速定位到大时延包,避免了人肉搜索抓包文件,提高问题排查效率,所有参数可配置。可以以在线方式和离线方式分析redis、memcached、mysql、nginx等请求应答系统的时延,并定位慢响应数据报文。(源码学习交流QQ群:568892619)
Stars: ✭ 113 (-0.88%)
Mutual labels:  server
Cli
Repository for reporting issues related to the Symfony CLI
Stars: ✭ 106 (-7.02%)
Mutual labels:  server
Picfit
An image resizing server written in Go
Stars: ✭ 1,589 (+1293.86%)
Mutual labels:  server
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+1321.05%)
Mutual labels:  server
Telegram Qt
Qt-based library for Telegram network
Stars: ✭ 105 (-7.89%)
Mutual labels:  server
Hummingbird
Lightweight, flexible HTTP server framework written in Swift
Stars: ✭ 114 (+0%)
Mutual labels:  server
Mist Ce
Mist is an open source, multi-cloud management platform
Stars: ✭ 1,391 (+1120.18%)
Mutual labels:  server
Open62541
Open source implementation of OPC UA (OPC Unified Architecture) aka IEC 62541 licensed under Mozilla Public License v2.0
Stars: ✭ 1,643 (+1341.23%)
Mutual labels:  server
Xtcp
A TCP Server Framework with graceful shutdown, custom protocol.
Stars: ✭ 116 (+1.75%)
Mutual labels:  server
Zoya
Truly highly composable logging utility
Stars: ✭ 116 (+1.75%)
Mutual labels:  server
Purescript Httpure
A web framework written in PureScript.
Stars: ✭ 112 (-1.75%)
Mutual labels:  server

Rust server that runs inside a Docker container

Docker Automated build Docker build status Docker Pulls Docker stars

DISCLAIMER:

Cracked or pirated versions of Rust are not supported in any way, shape or form. Please do not post issues regarding these.

TUTORIAL: We've written a guide on how to use this image here.

NOTE: This image will install/update on startup. The path /steamcmd/rust can be mounted on the host for data persistence. Also note that this image provides the new web-based RCON, so you should set RUST_RCON_PASSWORD to a more secure password. This image also supports having a modded server (using Oxide), check the RUST_OXIDE_ENABLED variable below.

How to run the server

  1. Set the environment variables you wish to modify from below (note the RCON password!)
  2. Optionally mount /steamcmd/rust somewhere on the host or inside another container to keep your data safe
  3. Enjoy!

The following environment variables are available:

RUST_SERVER_STARTUP_ARGUMENTS (DEFAULT: "-batchmode -load -nographics +server.secure 1")
RUST_SERVER_IDENTITY (DEFAULT: "docker" - Mainly used for the name of the save directory)
RUST_SERVER_PORT (DEFAULT: "" - Rust server port 28015 if left blank or numeric value)
RUST_SERVER_SEED (DEFAULT: "12345" - The server map seed, must be an integer)
RUST_SERVER_WORLDSIZE (DEFAULT: "3500" - The map size, must be an integer)
RUST_SERVER_NAME (DEFAULT: "Rust Server [DOCKER]" - The publicly visible server name)
RUST_SERVER_MAXPLAYERS (DEFAULT: "500" - Maximum players on the server, must be an integer)
RUST_SERVER_DESCRIPTION (DEFAULT: "This is a Rust server running inside a Docker container!" - The publicly visible server description)
RUST_SERVER_URL (DEFAULT: "https://hub.docker.com/r/didstopia/rust-server/" - The publicly visible server website)
RUST_SERVER_BANNER_URL (DEFAULT: "" - The publicly visible server banner image URL)
RUST_SERVER_SAVE_INTERVAL (DEFAULT: "600" - Amount of seconds between automatic saves.)
RUST_RCON_WEB (DEFAULT "1" - Set to 1 or 0 to enable or disable the web-based RCON server)
RUST_RCON_PORT (DEFAULT: "28016" - RCON server port)
RUST_RCON_PASSWORD (DEFAULT: "docker" - RCON server password, please change this!)
RUST_APP_PORT (DEFAULT: "28082" - Rust+ companion app port)
RUST_BRANCH (DEFAULT: Not set - Sets the branch argument to use, eg. set to "-beta prerelease" for the prerelease branch)
RUST_UPDATE_CHECKING (DEFAULT: "0" - Set to 1 to enable fully automatic update checking, notifying players and restarting to install updates)
RUST_UPDATE_BRANCH (DEFAULT: "public" - Set to match the branch that you want to use for updating, ie. "prerelease" or "public", but do not specify arguments like "-beta")
RUST_START_MODE (DEFAULT: "0" - Determines if the server should update and then start (0), only update (1) or only start (2))
RUST_OXIDE_ENABLED (DEFAULT: "0" - Set to 1 to automatically install the latest version of Oxide)
RUST_OXIDE_UPDATE_ON_BOOT (DEFAULT: "1" - Set to 0 to disable automatic update of Oxide on boot)

Logging and rotating logs

The image now supports log rotation, and all you need to do to enable it is to remove any -logfile arguments from your startup arguments. Log files will be created under logs/ with the server identity and the current date and time. When the server starts up or restarts, it will move old logs to logs/archive/.

How to send or receive command to/from the server

We recently added a small application, called rcon, that can both send and receive messages to the server, much like the console on the Windows version, but this happens to use RCON (webrcon). To use it, simply run the following on the host: docker exec rust-server rcon say Hello World, substituting rust-server for your own container name.

Rust+ companion app support

The image sets up app.port to 28082 by default, but you can optionally override this with the RUST_APP_PORT environment variable.
If you need to set additional options, such as app.listenip or app.publicip, you can supply these to RUST_SERVER_STARTUP_ARGUMENTS environment variable, but be careful to also include the default values.
More information on the Rust+ companion app integration can be found here.

Troubleshooting

  • If the server exits by itself after seemingly starting up fine, make sure the Docker VM has at least 4GB of RAM.
  • If you can connect to the RCON web UI, but not the game itself, make sure you've exposed port 28015 as UDP, not TCP.

Anything else

If you need help, have questions or bug submissions, feel free to contact me @Dids on Twitter, and on the Rust Server Owners Slack community.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].