Startup Issue with Rust Dedicated Server - Rust won't run or update on Ubuntu 22.04

System Information

Field Value
Operating System Linux - Debian GNU/Linux 11 on x86_64
Product AMP ‘Decadeus’ v2.4.5.4 (Mainline)
Virtualization Docker
Application Rust Dedicated Server
Module RustModule
Running in Container Yes
Current State Stopped

Problem Description

Issue

I tried to install Rust and it won’t stay running. It just installs and then stops. It won’t update the application, which fails as well.

Reproduction Steps

  • Click to install Rust
  • Install Rust
  • Start application
  • Update Application

What happens when you try to update it? What shows in the console tab?

Having the same issue on Debian 11 without Docker/Container

Same issue on Ubuntu 22 without Docker/Container, no logs present in console or logs, not sure what to do to diagnose this one.

It fails within Docker and outside of it.

Basically this is all it gives:

0:29:30

Redirecting stderr to ‘/home/amp/Steam/logs/stderr.txt’

Looks like steam didn’t shutdown cleanly, scheduling immediate update check

[ 0%] Checking for available updates…

20:29:31

[----] Verifying installation…

Steam Console Client (c) Valve Corporation - version 1687387651

– type ‘quit’ to exit –

Loading Steam API…dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory

dlmopen libSDL3.so.0 failed: libSDL3.so.0: cannot open shared object file: No such file or directory

OK

20:29:32

force_install_dir 258550

Connecting anonymously to Steam Public…OK

20:29:33

Waiting for client config…OK

Waiting for user info…OK

app_update 258550 validate

20:29:34

Update state (0x5) verifying install, progress: 0.00 (0 / 7544027339)

20:29:36

Update state (0x5) verifying install, progress: 4.73 (357122707 / 7544027339)

20:29:38

Update state (0x5) verifying install, progress: 10.76 (811786065 / 7544027339)

20:29:40

Update state (0x5) verifying install, progress: 17.62 (1329165970 / 7544027339)

20:29:42

Update state (0x5) verifying install, progress: 24.59 (1854745565 / 7544027339)

20:29:44

Update state (0x5) verifying install, progress: 31.87 (2404240985 / 7544027339)

20:29:46

Update state (0x5) verifying install, progress: 39.15 (2953370638 / 7544027339)

20:29:48

Update state (0x5) verifying install, progress: 45.11 (3402965470 / 7544027339)

20:29:50

Update state (0x5) verifying install, progress: 50.91 (3840470327 / 7544027339)

20:29:52

Update state (0x5) verifying install, progress: 57.90 (4368246438 / 7544027339)

20:29:54

Update state (0x5) verifying install, progress: 64.86 (4893097768 / 7544027339)

20:29:56

Update state (0x5) verifying install, progress: 70.71 (5334013178 / 7544027339)

20:29:58

Update state (0x5) verifying install, progress: 76.87 (5798918700 / 7544027339)

20:30:00

Update state (0x5) verifying install, progress: 83.49 (6298269170 / 7544027339)

20:30:02

Update state (0x5) verifying install, progress: 90.36 (6816530461 / 7544027339)

20:30:04

Update state (0x5) verifying install, progress: 94.77 (7149760332 / 7544027339)

20:30:06

Update state (0x5) verifying install, progress: 99.22 (7485351987 / 7544027339)

20:30:07

Success! App ‘258550’ fully installed.

quit

Edit: Oops wrong topic. Trying to clean install outside of Docker now.

When it is outside of docker it gives the same libSDL3.so.0 and steamservice error/warning, but it stays running. It will just stop running after a while within Docker and never start again.

When it is running it won’t connect, which makes me think this something to do with the endpoint, which is odd because I am able to run Ark successfully with the endpoint set within configuration.

What it gives in the main console area:

20:35:00

Waiting for AMP instance to start…

AMP instance LazRust01 is now running.
Error handling request:[POST:/API/ADSModule/GetInstances] - [InvalidOperationException]: System.InvalidOperationException: Collection was modified; enumeration operation may not execute. at System.Collections.Generic.List1+Enumerator[T].MoveNextRare () [0x00013] in <fbab4baee7c44bd8a064d25f6d86a08d>:0 at System.Collections.Generic.List1+Enumerator[T].MoveNext () [0x0004a] in :0 at System.Linq.Enumerable+WhereListIterator`1[TSource].MoveNext () [0x0004e] in <20af23a0769a48079b9e6e196c7a1c9e>:0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Newtonsoft.Json.JsonWriter writer, System.Collections.IEnumerable values, Newtonsoft.Json.Serialization.JsonArrayContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract collectionContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x000e1] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonContract valueContract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x000d6] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract collectionContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x0008d] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonContract valueContract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x000b2] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Newtonsoft.Json.JsonWriter writer, System.Collections.IEnumerable values, Newtonsoft.Json.Serialization.JsonArrayContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract collectionContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x000d6] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonContract valueContract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x000d6] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract collectionContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x0008d] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.Json.JsonWriter writer, System.Object value, Newtonsoft.Json.Serialization.JsonContract valueContract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty) [0x000b2] in :0 at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize (Newtonsoft.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) [0x00079] in :0 at Newtonsoft.Json.JsonSerializer.SerializeInternal (Newtonsoft.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) [0x0023a] in :0 at Newtonsoft.Json.JsonSerializer.Serialize (Newtonsoft.Json.JsonWriter jsonWriter, System.Object value, System.Type objectType) [0x00000] in :0 at Newtonsoft.Json.JsonConvert.SerializeObjectInternal (System.Object value, System.Type type, Newtonsoft.Json.JsonSerializer jsonSerializer) [0x00028] in :0 at Newtonsoft.Json.JsonConvert.SerializeObject (System.Object value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings) [0x00007] in :0 at Newtonsoft.Json.JsonConvert.SerializeObject (System.Object value, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in :0 at GSMyAdmin.ExtensionMethods.SerializeToJSON (System.Object source) [0x0000f] in :0 at GSMyAdmin.WebServer.APIService.HandleRequest (m.Http.IHttpRequest request) [0x00281] in :0 at m.Http.Handlers.Handler+<>c__DisplayClass6_0.b__0 (m.Http.IHttpRequest req) [0x00000] in <6ba0f115d4834d51b3526e12d15cee09>:0 at m.Http.Routing.RateLimitedEndpoint+<>c__DisplayClass4_0.b__0 (m.Http.IHttpRequest request) [0x00019] in <6ba0f115d4834d51b3526e12d15cee09>:0 at m.Http.Router.HandleRequest (m.Http.Backend.HttpRequest httpReq, System.DateTime requestArrivedOn) [0x000cd] in <6ba0f115d4834d51b3526e12d15cee09>:0

That’s the wrong log - that’s the ADS log, not the instance log.

The console for the game was quoted. The console for main instance wasn’t.

Though I can’t update the game, and it can’t be connected to on Steam, whether it is in Docker or not.

Maybe it might work for someone else but for my hosting AMP won’t work with this game.

I’ll host it outside of AMP. So might as well close this.

Please be patient and actually work the issue instead of giving up. AMP itself makes no difference as to whether a game can be connected to so long as it starts.

If the server is starting, have you checked that the correct firewall rules are present? And has rust actually fully started? It’s first startup can take an obnoxiously long time and shows little sign of life for a while.


The Docker External IP is the IP of the server. Is that set correctly for docker to run?

It works with Ark: Survival Evolved and Teamspeak3 in Docker but not Rust.

Yes that’s normally correct. What you want to check in-order:

  1. Does ampinstmgr ports INSTANCENAME show that the ports for Rust are listening?
  2. Does ampinstmgr dumpfirewall (as root!) show that there are firewall rules for Rust?
  3. If this is home-hosted, can another device on the same network connect?
  4. Can you connect using the console (client.connect hostname:port) rather than the UI?

ampinstmgr ports INSTANCENAME

amp@lazgame:~$ ampinstmgr ports LazRust01
[Info] AMP Instance Manager v2.4.5.4 built 26/06/2023 18:20
[Info] Stream: Mainline / Release - built by CUBECODERS/buildbot on CCL-DEV
[Info] Port usage for LazRust01 (LazRust)
[Info] Instance is currently running.
[Info] LISTENING 8083 TCP (Core.Webserver.Port)
[Info] LISTENING 2226 TCP (FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] CLOSED 28015 UDP (RustModule.Rust.Port)
[Info] CLOSED 28016 UDP (RustModule.Rust.QueryPort)
[Info] LISTENING 5678 TCP (RustModule.Rust.RconPort)
[Info] CLOSED 28082 TCP (RustModule.Rust.AppPlusPort)

ampinstmgr dumpfirewall

[Info] AMP Instance Manager v2.4.5.4 built 26/06/2023 18:20
[Info] Stream: Mainline / Release - built by CUBECODERS/buildbot on CCL-DEV
[Info] Using UFW firewall.
[Info] TCP/2223 (AMP:ADS01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] TCP/2224 (AMP:LazSpeak01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] UDP/15000 (AMP:LazSpeak01:GenericModule.App.Ports.$Voice)
[Info] TCP/30120 (AMP:LazSpeak01:GenericModule.App.Ports.$Filetransfer)
[Info] TCP/15001 (AMP:LazSpeak01:GenericModule.App.Ports.$ServerQueryRAW)
[Info] TCP/15002 (AMP:LazSpeak01:GenericModule.App.Ports.$ServerQuerySSH)
[Info] TCP/15003 (AMP:LazSpeak01:GenericModule.App.Ports.$WebQueryHTTP)
[Info] TCP/15004 (AMP:LazSpeak01:GenericModule.App.Ports.$WebQueryHTTPS)
[Info] TCP/2225 (AMP:LazArk01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] UDP/7777 (AMP:LazArk01:GenericModule.App.Ports.$GamePort)
[Info] UDP/7778 (AMP:LazArk01:GenericModule.App.Ports.$ReservedPort)
[Info] UDP/27015 (AMP:LazArk01:GenericModule.App.Ports.$QueryPort)
[Info] TCP/27020 (AMP:LazArk01:GenericModule.App.Ports.$RCONPort)
[Info] TCP/2226 (AMP:LazRust01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] UDP/28015 (AMP:LazRust01:RustModule.Rust.Port)
[Info] UDP/28016 (AMP:LazRust01:RustModule.Rust.QueryPort)
[Info] TCP/5678 (AMP:LazRust01:RustModule.Rust.RconPort)
[Info] TCP/28082 (AMP:LazRust01:RustModule.Rust.AppPlusPort)
[Info] TCP/2223 (AMP:ADS01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] TCP/2224 (AMP:LazSpeak01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] UDP/15000 (AMP:LazSpeak01:GenericModule.App.Ports.$Voice)
[Info] TCP/30120 (AMP:LazSpeak01:GenericModule.App.Ports.$Filetransfer)
[Info] TCP/15001 (AMP:LazSpeak01:GenericModule.App.Ports.$ServerQueryRAW)
[Info] TCP/15002 (AMP:LazSpeak01:GenericModule.App.Ports.$ServerQuerySSH)
[Info] TCP/15003 (AMP:LazSpeak01:GenericModule.App.Ports.$WebQueryHTTP)
[Info] TCP/15004 (AMP:LazSpeak01:GenericModule.App.Ports.$WebQueryHTTPS)
[Info] TCP/2225 (AMP:LazArk01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] UDP/7777 (AMP:LazArk01:GenericModule.App.Ports.$GamePort)
[Info] UDP/7778 (AMP:LazArk01:GenericModule.App.Ports.$ReservedPort)
[Info] UDP/27015 (AMP:LazArk01:GenericModule.App.Ports.$QueryPort)
[Info] TCP/27020 (AMP:LazArk01:GenericModule.App.Ports.$RCONPort)
[Info] TCP/2226 (AMP:LazRust01:FileManagerPlugin.SFTP.SFTPPortNumber)
[Info] UDP/28015 (AMP:LazRust01:RustModule.Rust.Port)
[Info] UDP/28016 (AMP:LazRust01:RustModule.Rust.QueryPort)
[Info] TCP/5678 (AMP:LazRust01:RustModule.Rust.RconPort)
[Info] TCP/28082 (AMP:LazRust01:RustModule.Rust.AppPlusPort)

As for client.connect, that usually just fails to connect.

That’s showing that Rust isn’t listening then, can you show me the console tab from inside the Rust instance? As well as the status screen.


Edit: I used ufw allow for those ports not listening, and then ufw enable. That seems to have done it.

Seems be showing all ports listening now:

Cool, now try connecting.

It took a while but it connected.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.