Linux experimental branch has no servers "Need Steam to refresh servers!"

I see the game client finally loads in Linux but there hasn’t been any servers in the list and the console just says “Need Steam to refresh servers!”. I’m seeing all kinds of great things in the playrust blog/etc but can’t see any of it for myself because I’m in Linux :frowning:

Why does the forum seem to think that you’re on Win7?

Because I’m using a user-agent override (lets me watch Netflix with Pipelight)

Interesting… I was just curious. I always wanted a way to watch Netflix on Linux. Thanks! :zoid:

lol Its a bit off topic, but yea look up how to install “Pipelight” on your distro. Then just use a user-agent override to get past the unsupported OS message.

BTW, are you using Linux right now? Seeing same problem with experimental branch of Rust?

No, I haven’t even tried getting into the exp branch yet, much less on Linux. Kind of holding off on Rust until the exp branch is either very close to done or switched to production.

I usually have Fedora or Ubuntu on dual-boot but I recently wiped my PC and haven’t taken the time to set it all back up yet, really just a fun side project for me to learn.
Also I’m on my work PC… games on this would not bode well with Meraki breathing down my neck all day. :tinfoil:

I’m a distro hopper myself. I usually end up back in Ubuntu though. Lately I keep going to SteamOS and Manjaro to check on their progress. But I’ve been hopping around for about 14 years (I remember the early Red Hat back when it was free). Ubuntu appears to have the best support all around. I depend on Steam for my games now. So far I’m much more pleased with the overall system stability compared to my old Windows setup. In Linux an application rarely causes a systemwide crash. Its almost always recoverable if something goes wrong. If something goes wrong in Windows… hang on to your butts.

I’m still having the same problem when loading the experimental branch in Linux. The client loads up but the servers still can’t be refreshed properly. Console still says I need Steam. Any progress on this bug?

I also have the same problem. I’m running Arch Linux 64 bit and I can play the production branch just fine. F1 pops up the console that just says “rust. Need Steam to refresh servers!” and none of the tabs will have any servers on the list. It also says “REFRESHING…” at the bottom with no change.

I have the same issue on 64 bit Arch Linux.

I tried putting the app id in the rust folder, to no avail. Perhaps we can join directly if someone could share the ip of an experiemental server that was joined from a different OS.

Either way, this appears to be an issue with rust and the steam api/runtime on linux.

The issue here is with the location of the SteamNative library. If you can do some research and find out why it’s not finding it, or why it’s not loading it… that will help me out a lot

We’re on it, boss.

Linux user power activate!

Seems that rust doesn’t play well with gdb. How unfortunate.

A quick scan for steam related libaries being loaded by rust revealed only this:
/opt/SteamApps/common/rust/rust_Data/Managed/System.Runtime.Serialization.dll
For clarity, /opt is where my steam library resides. Anyway, this probably doesn’t show us much. Must keep searching.

Off topic: It seems that the 64 bit client of rust for linux is “working” now, unlike before.

That is what I get in my log when is start rust.x86 -logFile:

I made a symbolic link of /home in “rust_Data/Mono/x86_64” in such a way that /home/xavier/.local/share/Steam/SteamApps/common/rust/rust_Data/Mono/x86_64/.//home/xavier/.local/share/Steam/SteamApps/common/rust/rust_Data/Plugins/x86/libSteamNative.so would exist but is still not loaded by rust :frowning:

Maybe I’ve solved this. The libsteam_api.so library is 64-bit (as ldd shows long addresses) while Rust always run as 32-bit. I use Debian Jessie amd64 but Steam always run rust.x86 no matter what. So it just can’t load the library. I copied this file from Painkiller Hell & Damnation (32-bit version) and servers have shown up. The game freezes on connect (unsurprisingly, since it’s a crude hack; the same library from another game causes crash on launch and all these libs have different sizes) but at least it’s something. I can run rust.x86_64 manually but it also doesn’t show servers because it can’t find the Steam runtime. There are ways of running games with the runtime manually but I’m too lazy to check them out. Anyway, the solution is simple: either replace the library with a 32-bit counterpart or make a short script to detect the arch and run the appropriate executable. And move the library somewhere like rust_Data/Plugins/<arch> or such.

agreed. linked libsteam_api.so from Portal 2 and it showed servers for me as well-

FWIW, renaming (or linking) rust.x86_64 to rust.x86 doesn’t solve anything. It runs fine from Steam but servers aren’t shown and the message about Steam is there. It’s like it can’t load this exact library no matter what. I’m trying other versions from other games, some of them crash Rust, some work to the said extent (the game freezes on connect anyway). Well, that’s a start.

Found this in ~/.local/config/unity3d/Facepunch Studios/PlayRust/Player.log (edited to simplify paths):


dlopen failed trying to load:
~/.local/share/Steam/linux32/libsteam.so
with error:
~/.local/share/Steam/linux32/libsteam.so: cannot open shared object file: No such file or directory

Which seems to confirm Gary’s post, I think. On my system, there is no libsteam.so at that location, but copying it there did not make a difference.

I tried copying libsteam.so into the same folder as rust but that didn’t made a difference either.

I still have some more things to try.

EDIT: Didn’t see the last few posts at the time I wrote this.

The right path should be ~/.config/unity3d/Facepunch Studios LTD/Rust/Player.log
BTW, there’s a real mess with architectures there. rust_Data/Plugins/x86_64/libSteamNative.so and rust_Data/Plugins/x86/libSteamNative.so are identical and both 32-bit. That’s probably why the 64-bit version doesn’t show servers either. I do:


mv rust.x86 rust.x86.bak
ln -s rust.x86_64 rust.x86

Then launch it via Steam. Lots of lines:


Fallback handler could not load library /opt/SteamLinux/SteamApps/common/rust/rust_Data/Mono/x86_64/.//opt/SteamLinux/SteamApps/common/rust/rust_Data/Plugins/x86_64/libSteamNative.so
Fallback handler could not load library /opt/SteamLinux/SteamApps/common/rust/rust_Data/Mono/x86_64/lib/opt/SteamLinux/SteamApps/common/rust/rust_Data/Plugins/x86_64/libSteamNative.so
Fallback handler could not load library /opt/SteamLinux/SteamApps/common/rust/rust_Data/Mono/x86_64/./lib/opt/SteamLinux/SteamApps/common/rust/rust_Data/Plugins/x86_64/libSteamNative.so
Fallback handler could not load library /opt/SteamLinux/SteamApps/common/rust/rust_Data/Mono/x86_64/lib/opt/SteamLinux/SteamApps/common/rust/rust_Data/Plugins/x86_64/libSteamNative.so


Can’t say for sure but I doubt that a 32-bit library can be loaded by a 64-bit process.

Does not work for me. Using Ubuntu 12.04 32bit