Running server on Linux


  • When I try running the EcoServer.exe on Linux (using Mono) I get the following error:

    sudo mono EcoServer.exe -nogui

    Missing method .ctor in assembly /home/pi/Downloads/Eco.Shared.dll, type System.Runtime.CompilerServices.ExtensionAttrib ute
    Can't find custom attr constructor image: /home/pi/Downloads/Eco.Shared.dll mtoken: 0x0a000015

    • Assertion at class.c:5597, condition `!mono_loader_get_last_error ()' not met

    Stacktrace:

    Native stacktrace:

    Debug info from gdb:

    [New LWP 2409]
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
    0xb6ee7ee8 in __libc_waitpid (pid=2410, stat_loc=0xbec58228, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:40
    40 ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
    Id Target Id Frame
    2 Thread 0xb5925430 (LWP 2409) "mono" 0xb6ee5a40 in do_futex_wait (isem=isem@entry=0x3181a4) at ../nptl/sysdeps/uni x/sysv/linux/sem_wait.c:48

    • 1 Thread 0xb6ff8000 (LWP 2408) "mono" 0xb6ee7ee8 in __libc_waitpid (pid=2410, stat_loc=0xbec58228, options=0) at .. /sysdeps/unix/sysv/linux/waitpid.c:40

    Thread 2 (Thread 0xb5925430 (LWP 2409)):
    #0 0xb6ee5a40 in do_futex_wait (isem=isem@entry=0x3181a4) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:48
    #1 0xb6ee5af4 in __new_sem_wait (sem=0x3181a4) at ../nptl/sysdeps/unix/sysv/linux/sem_wait.c:69
    #2 0x00219f98 in mono_sem_wait ()
    #3 0x0019091c in ?? ()
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)

    Thread 1 (Thread 0xb6ff8000 (LWP 2408)):
    #0 0xb6ee7ee8 in __libc_waitpid (pid=2410, stat_loc=0xbec58228, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:40
    #1 0x000c0ba4 in ?? ()
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)

    =================================================================
    Got a SIGABRT while executing native code. This usually indicates
    a fatal error in the mono runtime or one of the native libraries
    used by your application.
    =================================================================


  • 15
    Posts
    10412
    Views
    Log in to reply


  • It seems like when installing Mono on linux, not everything is actually installed. I installed the following package and the issue was solved.

    sudo apt-get install libmono-system-core4.0-cil

    Unfortunately, another issue immerged:

    sudo mono EcoServer.exe -nogui
    Missing method add_ThreadException in assembly /home/pi/Downloads/EcoServer.exe, type System.Windows.Forms.Application

    Unhandled Exception:
    System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
    File name: 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
    [ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
    File name: 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

    So I found out that it is possible to explicitly install everything from mono with:
    sudo apt-get install mono-complete

    After that it worked =)



  • Now, after the server is started:

    [52:15 Eco.Plugin] Initializing BackupPlugin...
    [52:15 Eco.Plugin] Initializing BackupPlugin finished in 38 ms
    [52:15 Eco.Plugin] Server init finished in X ms
    Invalid type Microsoft.Owin.Security.AuthenticationManager/<>c__DisplayClass12 for instance field Microsoft.Owin.Security.AuthenticationManager+<>c__DisplayClass12+<>c__DisplayClass14:CS$<>8__locals13
    Invalid type Microsoft.Owin.Security.AuthenticateResult for instance field System.Web.Http.HostAuthenticationFilter+<AuthenticateAsync>d__0:<result>5__3
    Invalid type Microsoft.Owin.Security.AuthenticationTicket for instance field Microsoft.Owin.Security.Notifications.SecurityTokenValidatedNotification`2[TMessage,TOptions]:<AuthenticationTicket>k__BackingField
    Invalid type Microsoft.Owin.Security.AuthenticationTicket for instance field Microsoft.Owin.Security.Infrastructure.AuthenticationHandler+<BaseInitializeAsync>d__0:<ticket>5__1
    Invalid type Microsoft.Owin.Security.AuthenticationTicket for instance field Microsoft.Owin.Security.Infrastructure.OwinRequestExtensions+Hook+<AuthenticateAsync>d__0:<ticket>5__1
    [54:22 Eco.Shared] Error getting response stream (Write: The authentication or decryption has failed.): SendFailure
    [54:22 EcoServer] Invalid user trying to connect: Th3B0Y. Disconnecting...
    [54:22 EcoServer] Client disconnecting [reason: Invalid login token.]...
    Thread was being aborted
    [54:22 EcoServer] Client disconnecting [reason: Disconnect by user.]...
    [54:22 EcoServer] ...Client disconnected
    [54:22 EcoServer] ...Client disconnected



  • Now, the novel has changed a bit.

    I decided to go further and place the Owin dlls in the same folder as the server executable, because it wasn't found. So, after that, the previous error disappeared and of course, I got a new one. This time:

    [ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
    at Eco.Webserver.WebServer+NetAclChecker.AddAddress (System.String address, System.String domain, System.String user) [0x00000] in <filename unknown>:0
    at Eco.Webserver.WebServer+NetAclChecker.AddAddress (System.String address) [0x00000] in <filename unknown>:0
    at Eco.Webserver.WebServer.Init (Int32 port) [0x00000] in <filename unknown>:0
    at Eco.Server.Plugins.WebServerPlugin.Init () [0x00000] in <filename unknown>:0
    at Eco.Server.Plugins.WebServerPlugin..ctor () [0x00000] in <filename unknown>:0
    at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
    at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
    --- End of inner exception stack trace ---
    at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
    at System.Activator.CreateInstance (System.Type type, Boolean nonPublic) [0x00000] in <filename unknown>:0
    at System.Activator.CreateInstance (System.Type type) [0x00000] in <filename unknown>:0
    at System.Activator.CreateInstance[WebServerPlugin] () [0x00000] in <filename unknown>:0
    at Eco.Server.Plugins.PluginManager.AddPlugin[WebServerPlugin] () [0x00000] in <filename unknown>:0
    at Eco.Server.Plugins.PluginManager..ctor () [0x00000] in <filename unknown>:0
    at Eco.Server.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0

    Now that is something I cannot fix. It is really in the application's code. I debug it only if I had the source code, which I don't.

    It was nice to try it, but apparently, linux is not so well supported.



  • did you copy the owin dll into the server folder ? if yes than this is not something you can do since the dll with missmatch the assmelbly version. also linux server is not official supportet yet.



  • That was the only thing I could do. I don't know which assembly version the devs used, so I took the latest. Linux is officially supported, according the the change logs.



  • all dll's you need should be with the server beside the mono framwork. there should be no need to apply any to the server, something that only causes trouble also



  • That's what I did at first. As you see in the post, it haven't worked. I'm a developer myself and tend to try finding the solution haha. But that's fine. I'm gonna try setting up a windows server instead. It should be easier. =)



  • i forwarded it do another Dev tier supporter that managed to set this up + one of the game developers to this post so maybe they can help you more ;)



  • Make sure all the config files are updated, I've experienced some cases where issues like these occur when the config files are not complete.

    I am a Wolf-Tier backer and a Volunteer on the forums helping out with Bug reports, Support and Moderation. I am not a StrangeLoopGames Employee / Developer.

    I am the founder of DBM Hosting. High quality server hosting.



  • What do you mean "updated" ? I just downloaded the config with the server files.



  • I decided to set up a windows server. You can play on ecoeurope.servegame.com =)



  • I created another post for the server. Anyone with rights can remove this topic =)



  • i let this topic be open so one of the developer have your issues as a record =)



  • You can setting up a mine craft server on Linux is a fairly easy task on the command line. Although you can set up the server on the root user, it is not as secure as setting it up under another username and you can install the Mine craft Server.


15
Posts
10412
Views
Log in to reply

Internal error.

Oops! Looks like something went wrong!