Closed AlrikG closed 6 years ago
I removed support for Linux 32-bit in the latest version (for various reasons, but mostly because it causes more headache than being worth the hassle).
It now always loads libsteam_api.so, which is the 64-bit version.
Please let me know if there are still issues.
Hi I still have crashes for the server part but as far as I can see the linux 64bit problem is gone and the steam client is working. I don't have enough linux skills to get the problem :/
The crash logs (tested with Java and OpenJDK) from my linux tester:
summary:
Stack: [0x00007f73a471e000,0x00007f73a481f000], sp=0x00007f73a481c0f8, free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [ld-linux-x86-64.so.2+0x1b903]
C [ld-linux-x86-64.so.2+0x155e2]
C [ld-linux-x86-64.so.2+0x10564]
C [libdl.so.2+0xf09]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;Z)V+0
j java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+328
j java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+48
j java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57
j java.lang.System.load(Ljava/lang/String;)V+7
j com.codedisaster.steamworks.SteamSharedLibraryLoader.loadLibrary(Ljava/lang/String;Ljava/lang/String;)V+89
j com.codedisaster.steamworks.SteamGameServerAPI.init(Ljava/lang/String;ISSSLcom/codedisaster/steamworks/SteamGameServerAPI$ServerMode;Ljava/lang/String;)Z+40
j com.codedisaster.steamworks.SteamGameServerAPI.init(ISSSLcom/codedisaster/steamworks/SteamGameServerAPI$ServerMode;Ljava/lang/String;)Z+9
j BV.initialize(Lcom/jme3/app/state/AppStateManager;Lcom/jme3/app/Application;)V+93
j com.jme3.app.state.AppStateManager.initializePending()V+80
j com.jme3.app.state.AppStateManager.update(F)V+5
j com.jme3.app.SimpleApplication.update()V+77
j com.jme3.system.NullContext.run()V+8
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
I've never seen it crash natively inside loadLibrary() before. No idea how to solve that. What Linux distribution is he testing on?
Hm ok. It's only the SteamGameServerAPI part that is not working for him. He has "Ubuntu Mate 1.16.2" installed
Are there any news? Does the SteamGameServerAPI works on linux?
It's hard to say w/o a real test case, but at least SteamGameServerAPITest launches w/o problems here on Ubuntu 16.04 64-bit. The test doesn't do much, but it passes SteamGameServerAPI.init().
I tested it on Ubuntu 17.10. 64Bit. The problem only occurs when starting the server after the client. Here is a test case. The dump file is included. SteamworksServerTest.zip
Good point. I was able to reproduce the crash now. Looks like Linux isn't happy about loading the same shared library twice.
Awesome thank you! Now my game has linux support :) Btw. you can add it to your showcase list if you wish http://store.steampowered.com/app/601400/qb/
I've received an error report from one of my testers. He uses Linux mint 64bit but libsteam_api.so was loaded instead of libsteam_api64.so.
This is the error report: