Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

[NetCode] Server-only build launched on cloud VM - Crashes In Release Mode works in Debug Mode

Discussion in 'NetCode for ECS' started by adammpolak, Feb 2, 2021.

  1. adammpolak


    Sep 9, 2018
    I have run both this both on windows and linux and ran it -batchmode -nographics as well as normally

    - Run the build in a VM with all ports open
    - Client is able to connect to the server (connect on port)
    - The connection triggers the server to send RPC to client (which works)
    - Clients send back RPC to server
    - Server receives RPC and adds "NetworkStreamInGame" component to RPC
    - Server starts generating asteroids with Job.WithCode()
    - Crash

    @timjohansson For some reason the stand alone build crashes when in release mode but in debug mode it limps along

    Debug Info
    Staring Linx Server Build:
    Code (CSharp):
    1. adampolak@moetsi-asteroids-xr-server:~/asteroids$ ./Sample -batchmode -nographics
    2. Set current directory to /home/adampolak/asteroids
    3. Found path: /home/adampolak/asteroids/Sample
    4. PlayerConnection initialized from /home/adampolak/asteroids/Sample_Data (debug = 0)
    5. PlayerConnection initialized network socket : 55421
    6. Multi-casting "[IP] [Port] 55421 [Flags] 2 [Guid] 2501959266 [EditorId] 4261281278 [Version] 1048832 [Id] LinuxPlayer( [Debug] 1 [PackageName] LinuxPlayer [ProjectName] Sample" to []...
    7. Started listening to []
    8. Starting managed debugger on port 56266
    9. Preloaded ''
    10. PlayerConnection already initialized - listening to []
    11. Initialize engine version: 2020.1.17f1 (9957aee8edc2)
    12. [Subsystems] Discovering subsystems at path /home/adampolak/asteroids/Sample_Data/UnitySubsystems
    13. Forcing GfxDevice: Null
    14. GfxDevice: creating device client; threaded=0
    15. NullGfxDevice:
    16.     Version:  NULL 1.0 [1.0]
    17.     Renderer: Null Device
    18.     Vendor:   Unity Technologies
    19. FMOD initialized on nosound output
    20. ERROR: Shader Sprites/Default shader is not supported on this GPU (none of subshaders/fallbacks are suitable)
    21. XRGeneral Settings awakening...
    22. UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    23. UnityEngine.Logger:Log(LogType, Object)
    24. UnityEngine.Debug:Log(Object)
    25. UnityEngine.XR.Management.XRGeneralSettings:Awake()
    27. (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    Able to connect to the IP address and get super stuttering response:

    Release Build
    Running Linux Server Build:

    It crashes

    Attached Files:

    Last edited: Feb 3, 2021
  2. timjohansson


    Unity Technologies

    Jul 13, 2016
    You don't need to change anything in the builtin build dialog, just the build config files. It shouldn't look at the settings you change there - which also means that selecting "server build" doesn't do anything. You should instead add a `Player Scripting Defines` component to the build config and define "UNITY_SERVER".
    We have used linux servers many times and I am not aware of any open bugs related to them.
    I would suggest running the server in gdb / lldb to see where it crashes.
  3. adammpolak


    Sep 9, 2018
    Appreciate the heads up!

    Before I go on the long road of trying to understand the differences between a "debug" LinuxIL2CPP build and a "release" LinuxIL2CPP, any tips on what I should be looking for?

    So just to double check these settings also don't matter for the final build?