Jump to content

ARM Linux dedicated server issue


peepeepoopoo

Recommended Posts

To preface, yeah I know ARM Linux is v unsupported and may not work at all. But I'm close and the server is free, so worth an ask if anyone has blackmagicksed their way to it working.

 

Based on this guide: https://www.reddit.com/r/valheim/comments/s1os21/create_your_own_free_dedicated_server/ I fired up the 7 days to die Linux server (replace anything Valheim-specific with 7 days to die stuff like the directories or the ports).

 

In the previous release of Box64 I was able to get in-game but it was glitchy and the char fell through the ground within a minute or two.

 

The latest release of Box64 is out and now the client won't go in game (game updated from 20.5 and 20.6 in that time as well).

 

Now, I'm failing at "Steam Authentication" with the failure message on the client side:


 

SERVER DISCONNECTED YOU:

Kicked by Steam: Your authentication data is from a different game!

 

And on the server side:

 

2022-11-29T20:38:45 221.365 INF NET: LiteNetLib: Connect from: 10.0.66.1:60200
2022-11-29T20:38:45 221.385 INF Started thread NCS_Reader_0_0
2022-11-29T20:38:45 221.386 INF Started thread NCS_Writer_0_0
2022-11-29T20:38:45 221.388 INF Started thread NCS_Reader_0_1
2022-11-29T20:38:45 221.389 INF Started thread NCS_Writer_0_1
2022-11-29T20:38:45 221.403 INF [NET] PlayerConnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName=''
2022-11-29T20:38:45 221.544 INF NPPL.Read
2022-11-29T20:38:45 221.605 INF PlayerLogin: STEAMNAME/Alpha 20.6
2022-11-29T20:38:45 221.606 INF Client IP: 10.0.66.1
2022-11-29T20:38:45 221.618 INF [Auth] PlayerName authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.623 INF [Auth] ServerState authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.625 INF [Auth] MpAllowed authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.627 INF [Auth] PlayerId authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.629 INF [Auth] DuplicateUserId authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.631 INF [Auth] VersionCheck authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.638 INF [Auth] PlayerSlots authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.641 INF [Auth] LegacyModAuthorizations authorization successful: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.648 INF [Steamworks.NET] Auth.AuthenticateUser()
2022-11-29T20:38:45 221.689 INF [Steamworks.NET] Authenticating player: STEAMNAME SteamId: ############# TicketLen: 1024 Result: k_EBeginAuthSessionResultGameMismatch
2022-11-29T20:38:45 221.694 INF [Auth] PlatformAuth authorization failed: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.734 INF Kicking player (Platform auth failed: GameMismatch): EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.786 INF NET: LiteNetLib: Client disconnect from: 10.0.66.1:60200 (RemoteConnectionClose)
2022-11-29T20:38:45 221.788 INF [NET] PlayerDisconnected EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.794 WRN DynamicMusic: -1 was not in Bloodmoon state cache on disconnect
2022-11-29T20:38:45 221.795 WRN Client disconnected from dy mesh: Id: -1 Total: 0
2022-11-29T20:38:45 221.797 WRN Client disconnect complete for -1 Total: 0
2022-11-29T20:38:45 221.798 INF Player disconnected: EntityID=-1, PltfmId='Steam_#############', CrossId='EOS_GIBBERISHHEX', OwnerID='<unknown/none>', PlayerName='STEAMNAME'
2022-11-29T20:38:45 221.834 INF Exited thread NCS_Writer_0_1
2022-11-29T20:38:45 221.834 INF Exited thread NCS_Reader_0_1
2022-11-29T20:38:45 221.834 INF Exited thread NCS_Reader_0_0
2022-11-29T20:38:45 221.835 INF Exited thread NCS_Writer_0_0
2022-11-29T20:38:45 221.901 ERR [EOS] Failed unregistering player in session: NoChange
2022-11-29T20:38:46 222.257 ERR DisconnectClient: Player EOS_GIBBERISHHEX not found

 

The server (via output log) and client (via top right) are both running 20.6 b9 so I'm not quite sure how to fix it (if possible, of course). I've disabled EAC in the settings, but I'm not sure why the server still is trying to verify the Steam account (client is connecting over a VPN-enabled "local" private network 10.0.66.x - same result with a direct connection and ports 26900-26903 forwarded).

 

SteamNetworking doesn't work for any connections (direct with ports forwarded or via the "local" VPN), but it did on the earlier connection (LiteNetLib didn't work on the earlier glitch code, so it has switched I guess).

 

If someone knows secret ways, let me know!

Link to comment
Share on other sites

steam authentication has nothing to do with eac. EAC essentially makes sure the files are untampered and maybe looks for cheater programs. Steam authorization and authentication just makes sure you are a valid player of the game and who you are exactly so it can find the correct toon for you to inhabit in this game. 

 

Can you simply go back to the older box version and try to decrease resolution and other options? Your toon falling through the world points to performance problems, maybe also in regards to storage I/O.

 

If not, your options are limited. Steam authentication will happen a lot in steam libraries you don't want to debug. So you could make a bug report to the box developers or simply wait for the next box version, or the next version of 7D2D as network code will have changed (and hopefully improved) somewhat.

 

Link to comment
Share on other sites

16 hours ago, peepeepoopoo said:

same result with a direct connection and ports 26900-26903 forwarded

Port forwarding is done on the server's router/s. I doubt Oracle is giving you access there. You don't need port forwarding on the client.

You can check your server's ports using an online port checker.

That said, your issue seems to be client side. I don't know if your VPN is an issue, but I would activate split tunnelling and bypass it for the game.

Also, verify the game files on the server and on the client.

Posting complete logs from the server and client may offer more clues.

If you pm me the server data, I can look at it and see if anything weird is going on, but I think the problem is your client. (guessing though).

Edited by Beelzybub (see edit history)
Link to comment
Share on other sites

Thanks for your replies!

 

It sounds like there isn't a way to disable the Steam authentication, which would have been the easiest way to get around this error.

 

I'll wait for the next release, I rolled back to the previous Box64 and the connection error didn't change - so it's a change from 20.5 to 20.6 that is the "problem" on this unsupported config. Not going to bother delving into the 20.5 version again. Both server and client files are verified as well.

 

Oracle does give you port forward access and it does work as expected, but since the connection error occurs when directly connecting I can safely say it's not the VPN but rather the server failing to do whatever version math it needs to determine the versions are the same. Next version hopefully fixed whatever's gone wrong with the ARM translation!

 

I also tried with crossplatform= disabled in the platform.cfg file and that didn't change anything.

 

Here's a pastebin of the server log with the client connecting directly and with the VPN:

https://pastebin.com/uR5XLvj6

If you still want to take a look! There's no client-side output.txt in the Data folder, so nothing there other than the message window in-game. The symbol errors are missing x86->ARM translations and are likely the issue (though those specific ones may not be the issue, depends what libMouseLib.so does).

Link to comment
Share on other sites

@peepeepoopooFrom your log:

GamePref.BedrollExpiryTime = 80000

GamePref.LandClaimExpiryTime = 800000

These are way out of range. Try setting them to defaults.

 

GamePref.ServerVisibility = 0

Set this to 2.

 

What ports did you forward?

3 hours ago, peepeepoopoo said:

There's no client-side output.txt in the Data folder,

The client's output log is in %appdat%\7DaysToDie\Logs

Link to comment
Share on other sites

I reset the serverconfig.xml to the default to be safe, no change sadly.

 

The recommended ports are forwarded, 26900 TCP and 26900-26903 UDP.

 

Here's the client output, nothing much since the kick seems to happen entirely server-side https://pastebin.com/PvJr3JaX (and this client can connect to other servers no prob).

 

Missing the X11 library is no big, X11 is a window system on Linux and since this is a headless server there's no desktop (most of the symbol errors involve things with X's that mean they are X window related). Should be fine for the dedicated server build.

 

Thanks for the suggestions, though! This may be it for now unless there's a very secret way to get the server to ignore the client-server version check.

Link to comment
Share on other sites

You could try enabling SteamNetworking. I have no guess why the client-server version check fails. Does the server show properly in the Server Browser?

 

Also, have you had anyone else try to connect to eliminate your client as being the problem? I'll try to connect if you want me to test that.

PM the details.

Edited by Beelzybub (see edit history)
Link to comment
Share on other sites

It does show in the server browser, https://i.imgur.com/iIkhdck.png , and SteamNetworking instead of LiteNetLib makes the client unable to connect (server logs don't even show connection attempts). Screenshot is from SteamNetworking mode which made it report a really high ping too, LiteNetLib's ping is ~60 ms.

 

I'll update this thread if future updates ever let it work on ARM processors.

Link to comment
Share on other sites

I did notice there's a LAN tab on the server browser but the server doesn't show up there when I'm connected to it via VPN (and it is in a virtual LAN with my client). Anyway to force it show up there? That might bypass Steam authentication (maybe, though seems pretty deep if its tied to character profiles)

Link to comment
Share on other sites

51 minutes ago, peepeepoopoo said:

I did notice there's a LAN tab on the server browser but the server doesn't show up there when I'm connected to it via VPN (and it is in a virtual LAN with my client). Anyway to force it show up there? That might bypass Steam authentication (maybe, though seems pretty deep if its tied to character profiles)

 

Don't think so. The least "complicated" way to connect to a server is simply entering the IP address yourself (because you can just enter the local address instead of getting connected to the public address of your network). I assume you know how to do that, right?

 

Edited by meganoth (see edit history)
Link to comment
Share on other sites

I was able to get it to run again by calling the server directly (`./startserver.sh -configfile=serverconfig.xml`), I had it running via the systemctl setup based on another ARM Valheim guide. Systemctl call was apparently causing the Steam API problem, not sure how but idk Linux.

 

The server crashes on join though, it seems to respond up until character load in. There's no errors because it just hangs. Telnet commands stop working, I can't open anything, zombies just stand there, and if I run for long enough my character drops through the world. Log just says character joined then nothing else, client log says the same. (It was technically better the 1st time I got it going as the zombies then laggily tried to attack)

 

For anyone interested, before character loads in and it crashes the 1st FPS printout is ~20 FPS and the second is ~17 FPS. I saw in another thread that for A20 below 30 FPS things start to get bad (https://community.7daystodie.com/topic/27587-dedicated-server-how-to-improve-server-fps/?do=findComment&comment=471514) so it's already starting from too slow (the 4 ARM cores aren't super slow slow, around an i5-4570, but it does have to emulate stuff and crash).

 

So, success on getting in-game; failure on gaming at all!

 

Thanks again to both of you for your help, I'll bring this to the Box64 team and see if it can be fixed to at least run.

 

Server log: https://pastebin.com/qYQdRh86

Link to comment
Share on other sites

Well JK, I got it to work.

 

I deleted everything and reinstalled, disabled EAC in the serverconfig.xml, and updated to the box64/box86 bleeding edge (I was using the latest release before) and the server works! (updated to bleeding edge to prep for github issue)

 

The FPS went up, it sits around 28-35 FPS with just me in it, but I did find 10 zombies and fought them naked and it seemed to work well. Looted stuff as well. Didn't drop through the map either. Looks like it's viable (and free if you give Oracle a CC# - I used a "virtual card" from my CC provider then canceled it so they couldn't sit on it like a dragon).

 

Tldr; use screen method linked above since idk how to set up the systemctl call correctly, compile latest box64/box86 from github, maaaybe disable EAC - not sure if disabling EAC or latest box64/box86 got it going since I did them both at once. If someone tries this and uses EAC and it works, let us know so others know!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...