[1.2+] Hosting Dedicated Servers on Linux

Users who are viewing this thread

Finally, It works changing CPU, drastic but effective change, thanks for the guide.

In case it helps anyone, (I'm not sure why) with Debian without a graphical interface I had problems with "librgl.so", I was able to fix it by installing the OpenGL dependencies.

Happy new year!

I got the same issue, there is my cpu :

Bash:
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         36 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  8
  On-line CPU(s) list:   0-7
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Xeon(R) CPU           W3565  @ 3.20GHz
    CPU family:          6
    Model:               26
    Thread(s) per core:  2
    Core(s) per socket:  4
    Socket(s):           1
    Stepping:            5
    Frequency boost:     enabled
    CPU(s) scaling MHz:  55%
    CPU max MHz:         3200.0000
    CPU min MHz:         1600.0000
    BogoMIPS:            6399.60
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fx
                         sr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
                         pology nonstop_tsc cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm
                         dca sse4_1 sse4_2 popcnt lahf_lm pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid
                          dtherm ida flush_l1d
Virtualization features:
  Virtualization:        VT-x
Caches (sum of all):
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    1 MiB (4 instances)
  L3:                    8 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-7
Vulnerabilities:
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
  Mds:                   Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Unknown: No mitigations
  Retbleed:              Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS
                         Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected

Which new CPU did you go on ?
 
I got the same issue, there is my cpu :

Bash:
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         36 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  8
  On-line CPU(s) list:   0-7
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Xeon(R) CPU           W3565  @ 3.20GHz
    CPU family:          6
    Model:               26
    Thread(s) per core:  2
    Core(s) per socket:  4
    Socket(s):           1
    Stepping:            5
    Frequency boost:     enabled
    CPU(s) scaling MHz:  55%
    CPU max MHz:         3200.0000
    CPU min MHz:         1600.0000
    BogoMIPS:            6399.60
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fx
                         sr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
                         pology nonstop_tsc cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm
                         dca sse4_1 sse4_2 popcnt lahf_lm pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid
                          dtherm ida flush_l1d
Virtualization features:
  Virtualization:        VT-x
Caches (sum of all):
  L1d:                   128 KiB (4 instances)
  L1i:                   128 KiB (4 instances)
  L2:                    1 MiB (4 instances)
  L3:                    8 MiB (1 instance)
NUMA:
  NUMA node(s):          1
  NUMA node0 CPU(s):     0-7
Vulnerabilities:
  Itlb multihit:         KVM: Mitigation: VMX disabled
  L1tf:                  Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
  Mds:                   Vulnerable: Clear CPU buffers attempted, no microcode; SMT vulnerable
  Meltdown:              Mitigation; PTI
  Mmio stale data:       Unknown: No mitigations
  Retbleed:              Not affected
  Spec store bypass:     Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:            Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:            Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS
                         Not affected
  Srbds:                 Not affected
  Tsx async abort:       Not affected

Which new CPU did you go on ?

I've heard reports of people having issues with Intel CPUs in general for BL (Linux) servers. Not sure if that's accurate but so far it seems everyone that had some really weird issues were able to solve them by switching to AMD.
 
I have managed to get it up, but it doesn't start the server. Logs the messages until "[20:22:17.066] BadgeManager::InitializeWithXML" and stuck there.

Tried on Debian 12 and Debian 11.

...
20:22:16.979] opening ../../Modules/Native/ModuleData/mpcharacters.xml

[20:22:16.980] opening ../../XmlSchemas/MPCharacters.xsd

[20:22:17.016] opening ../../Modules/Native/ModuleData/mpcultures.xml

[20:22:17.016] opening ../../XmlSchemas/BasicCultures.xsd

[20:22:17.018] opening ../../Modules/Native/ModuleData/mpclassdivisions.xml

[20:22:17.020] opening ../../XmlSchemas/MPClassDivisions.xsd

[20:22:17.066] BadgeManager::InitializeWithXML <-------------- No more lines after this line. Also, does not exit.

Maybe new updates got something broken with this setup? It is weird to provide Linux binaries but not documenting it.
 
I have managed to get it up, but it doesn't start the server. Logs the messages until "[20:22:17.066] BadgeManager::InitializeWithXML" and stuck there.

Tried on Debian 12 and Debian 11.

...
20:22:16.979] opening ../../Modules/Native/ModuleData/mpcharacters.xml

[20:22:16.980] opening ../../XmlSchemas/MPCharacters.xsd

[20:22:17.016] opening ../../Modules/Native/ModuleData/mpcultures.xml

[20:22:17.016] opening ../../XmlSchemas/BasicCultures.xsd

[20:22:17.018] opening ../../Modules/Native/ModuleData/mpclassdivisions.xml

[20:22:17.020] opening ../../XmlSchemas/MPClassDivisions.xsd

[20:22:17.066] BadgeManager::InitializeWithXML <-------------- No more lines after this line. Also, does not exit.

Maybe new updates got something broken with this setup? It is weird to provide Linux binaries but not documenting it.
I recall getting to that same point and getting stuck as well, but not exactly how I got around it. Are you using the exact start command from the OP?
 
I am running the same command except "/dedicatedcustomserver 7210 USER 0" part. Like this:

Code:
dotnet TaleWorlds.Starter.DotNetCore.Linux.dll _MODULES_*Native*Multiplayer*_MODULES_ /dedicatedcustomserverconfigfile ds_config_tdm.txt /tickrate 240 /dedicatedcustomserverauthtoken <MY_TOKEN> /playerhosteddedicatedserver

I removed the "/dedicatedcustomserver 7210 USER 0" part, because it logs a bunch of "The system cannot find the file specified." errors when that argument is given.

Sample line:
Code:
File name: 'Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb57438375ddaf68'. The system cannot find the file specified.

Maybe I should've mentioned this problem first. 😅

I also tried after placing the "$HOME/Documents/Mount & Blade II Bannerlord/Tokens/DedicatedCustomServerAuthToken.txt". But no luck. Regardless of the arguments (event with no arguments) it always stucks there.
 
Sample line:
Code:
File name: 'Microsoft.AspNetCore.Mvc.ViewFeatures, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.AspNetCore.Mvc.Core, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb57438375ddaf68'. The system cannot find the file specified.
Check that you did step 3 correctly
 
Right, thank you. I realized that I haven't got the step 3 done correctly because my dotnet installation didn't have the required dll files. So the required files wasn't copied.
After I installed ASP.NET runtime correctly and repeating the step 3, it works now.

With the "/dedicatedcustomserver 7210 USER 0" argument, of course. So it seems the first problem was because of missing that argument.

Thanks for the awesome work and support.
 
NET 6 support ended last month so it's possible to migrate to NET 8 or 9 or servers files still don't support newer versions ?
 
Hello, is this guide still relevant? I've followed the guide, but when I try to start the TaleWorlds.Starter.DotNetCore.Linux.dll I'm getting an issue Segmentation fault (core dumped). Any idea what may be causing this?
 
Back
Top Bottom