I am using Unity’s multiplay solution to host my Unreal Engine game.
I am curious if it is possible to have the dedicate server machine support steam. Currently, players in my game are able to matchmake for other lobbies that are registered through the SteamOnlineSubsystem.
Do these dedicated machines support steam usage? Or will I be forced to connect players through IP addresses.
We have run a few tests based on the information you provided, thank you by the way! The problem here appears to be a failure to write to the current working directory of your game server. In theory there is nothing in the Multiplay system that will prevent you from using the SteamOnlineSubsystem. As it says on the UE docs, the steam_appid.txt needs to exist in the CWD - https://docs.unrealengine.com/5.2/en-US/online-subsystem-steam-interface-in-unreal-engine/
We’ll conduct some more investigation to resolve the underlying file permissions problem here.
I have repackaged my project as a shipping build. I am now receiving an error stating the project does not grant proper permissions to the machine to access to appropriate files.
I am attaching a screenshot below, and advice is appreciate.
My current issue appears to stem from a permissions related problem. I am not too familiar with Linux, however I understand there are ways to grant write permissions to directories. I am unaware of how I can achieve this on the server machine.
Thats good to hear, my current issue revolved around permissions restrictions from Linux. I will attach an image of my logs below. It seems as though I need to provide the machine with Read/Write permissions for the project directory, however I am not familiar with how to do that.
One final question: where would I execute these commands?
Because the folder structure is being hosted on the Unity Multiplay machines, I am unable to access the terminal of to grant read/write permissions for that machine/user. Is there a way to access the terminal for the Unity server machines?
We have pushed out an update which should resolve the original problem of writing the steam_appid to the /game directory. You will need to create a new version of your build (Builds) in game server hosting for the fix to take effect.
I am attaching a screenshot of a new test. It appears I am still receiving the same error. I even attempted starting a new build configuration and fleet.
I have also tried providing a pre-made steam_appid.txt file to see if that helps.
Upon further inspection, we can see that while the /game directory now has the correct ownership, the files for your server build (including sub directories) are not writable. A follow up fix will be needed from our side, I will keep you posted with updates.
In the mean time, the messages shown in your screenshots are only warnings not full errors. So there should not be anything preventing Unreal Engine games from running, this is something we test and validate.
The events tab on your servers does show that the server is not responding to “query”. Query is what Multiplay uses to validate the state of your server and show player numbers in the dashboard - Query protocols. This is an optional feature, so you have two choices here:
Understood, I have applied and enabled the Unreal Engine SDK and I intend to use the SQP method.
I have tried looking into the documentation for this, is the Querying done automatically when the plugin is applied? Or is there a function I must call in order to communicate with Unity Multiplay?
I am now getting proper communication with the steam online subsystem.
However, a new problem has presented itself. The error reads “Warning: Steam Dedicated Server API failed to initialize”. I have attached a screenshot below of the error.
In doing some research, I see that this error can arise from not having the proper .so (.dll in windows) files, or having these files be outdated.
Hello @domgamba Sorry to tag you on an old thread. I’m also using Unreal Engine but cannot figure out how to get SQP working properly. What did you do to get it going. I would like to see metrics of players connected.