Mordhau

Dedicated Server Hosting Guide (Linux)

9 0

@Gambit said:

Looks like you're running out of memory. What are the specs and provider of the VPS you're using?

I have a signature

Based on what I've read about the server minimum specs, I highly doubt it.
4 cores, 6 GB of ram, 60 GB of SSD

9 0

Some more info:

[[email protected] crashinfo-Mordhau-pid-5200-0313617808D7012D679DDD3235A658FD]# cat Diagnostics.txt
Generating report for minidump
Application version 4.20.3.0
... built from changelist 0
OS version Linux 3.10.0-957.21.3.el7.x86_64 (network name: serv.pietersen.co)
Running 4 x86_64 processors (4 logical cores)
Exception was "SIGSEGV: invalid attempt to read memory at address 0x00000000658f3f54"

<SOURCE START>

<SOURCE END>

<CALLSTACK START>
libm.so.6!atanf(+0x9e)
libm.so.6!atan2f_finite(+0x1c3)
MordhauServer-Linux-Shipping!_ZN5physx2Sc7BodySim26calculateKinematicVelocityEf(+0x2c7)
MordhauServer-Linux-Shipping!_ZN5physx2Sc5Scene16stepSetupCollideEv(+0x10a)
MordhauServer-Linux-Shipping!_ZN5physx2Sc5Scene8simulateEfPNS_10PxBaseTaskE(+0x46)
MordhauServer-Linux-Shipping!_ZN5physx2Cm4Task3runEv(+0x20)
MordhauServer-Linux-Shipping!_ZN31FPhysXCPUDispatcherSingleThreadILb0EE10submitTaskERN5physx10PxBaseTaskE(+0x88)
MordhauServer-Linux-Shipping!_ZN5physx9PxTaskMgr12dispatchTaskEjb(+0x49)
MordhauServer-Linux-Shipping!_ZN5physx9PxTaskMgr15startSimulationEv(+0xec)
MordhauServer-Linux-Shipping!_ZN16FPhysSubstepTask22SubstepSimulationStartEv(+0x2c2)
MordhauServer-Linux-Shipping!_ZNK30TBaseRawMethodDelegateInstanceILb0E16FPhysSubstepTaskFvvEJP19PhysXCompletionTaskEE13ExecuteIfSafeEv(+0x22)
MordhauServer-Linux-Shipping!_ZN10TGraphTaskI24FSimpleDelegateGraphTaskE11ExecuteTaskER6TArrayIP14FBaseGraphTask17FDefaultAllocatorEN13ENamedThreads4TypeE(+0x3a)
MordhauServer-Linux-Shipping!_ZN16FNamedTaskThread23ProcessTasksNamedThreadEib(+0x85)
MordhauServer-Linux-Shipping!_ZN16FNamedTaskThread21ProcessTasksUntilQuitEi(+0x42)
MordhauServer-Linux-Shipping!_ZN24FTaskGraphImplementation22WaitUntilTasksCompleteERK6TArrayI12TRefCountPtrI11FGraphEventE16TInlineAllocatorILj4E17FDefaultAllocatorEEN13ENamedThreads4TypeE(+0x200)
MordhauServer-Linux-Shipping!_ZN18FTickTaskSequencer16ReleaseTickGroupE13ETickingGroupb(+0xba)
MordhauServer-Linux-Shipping!_ZN16FTickTaskManager12RunTickGroupE13ETickingGroupb(+0x17)
MordhauServer-Linux-Shipping!_ZN6UWorld4TickE10ELevelTickf(+0x84c)
MordhauServer-Linux-Shipping!_ZN11UGameEngine4TickEfb(+0x2c3)
MordhauServer-Linux-Shipping!_ZN11FEngineLoop4TickEv(+0x3bb)
MordhauServer-Linux-Shipping!_Z11GuardedMainPKw(+0x299)
MordhauServer-Linux-Shipping!_Z14CommonUnixMainiPPcPFiPKwE(+0xa9c)
libc.so.6!
libc_start_main(+0xf4)
MordhauServer-Linux-Shipping!UnknownFunction(0x334b028)

<CALLSTACK END>
0 loaded modules
Report end!

and

Status: OFFLINE
mhserver Script Details
=============================================================================================================================================================================================================================================================================Service name: mhserver
mhserver version: v19.8.1
User: mhserver
glibc required: 2.17
Discord alert: off
Email alert: off
Pushbullet alert: off
IFTTT alert: off
Mailgun (email) alert: off
Pushover alert: off
Telegram alert: off
Update on start: off
Location: /home/mhserver
Config file: /home/mhserver/serverfiles/Mordhau/Saved/Config/LinuxServer/Game.ini

531 283
  • 5 Jul
 Gambit

@d34thmittens said:
Some more info:

[[email protected] crashinfo-Mordhau-pid-5200-0313617808D7012D679DDD3235A658FD]# cat Diagnostics.txt
Generating report for minidump
Application version 4.20.3.0
... built from changelist 0
OS version Linux 3.10.0-957.21.3.el7.x86_64 (network name: serv.pietersen.co)
Running 4 x86_64 processors (4 logical cores)
Exception was "SIGSEGV: invalid attempt to read memory at address 0x00000000658f3f54"

<SOURCE START>

<SOURCE END>

<CALLSTACK START>
libm.so.6!atanf(+0x9e)
libm.so.6!atan2f_finite(+0x1c3)
MordhauServer-Linux-Shipping!_ZN5physx2Sc7BodySim26calculateKinematicVelocityEf(+0x2c7)
MordhauServer-Linux-Shipping!_ZN5physx2Sc5Scene16stepSetupCollideEv(+0x10a)
MordhauServer-Linux-Shipping!_ZN5physx2Sc5Scene8simulateEfPNS_10PxBaseTaskE(+0x46)
MordhauServer-Linux-Shipping!_ZN5physx2Cm4Task3runEv(+0x20)
MordhauServer-Linux-Shipping!_ZN31FPhysXCPUDispatcherSingleThreadILb0EE10submitTaskERN5physx10PxBaseTaskE(+0x88)
MordhauServer-Linux-Shipping!_ZN5physx9PxTaskMgr12dispatchTaskEjb(+0x49)
MordhauServer-Linux-Shipping!_ZN5physx9PxTaskMgr15startSimulationEv(+0xec)
MordhauServer-Linux-Shipping!_ZN16FPhysSubstepTask22SubstepSimulationStartEv(+0x2c2)
MordhauServer-Linux-Shipping!_ZNK30TBaseRawMethodDelegateInstanceILb0E16FPhysSubstepTaskFvvEJP19PhysXCompletionTaskEE13ExecuteIfSafeEv(+0x22)
MordhauServer-Linux-Shipping!_ZN10TGraphTaskI24FSimpleDelegateGraphTaskE11ExecuteTaskER6TArrayIP14FBaseGraphTask17FDefaultAllocatorEN13ENamedThreads4TypeE(+0x3a)
MordhauServer-Linux-Shipping!_ZN16FNamedTaskThread23ProcessTasksNamedThreadEib(+0x85)
MordhauServer-Linux-Shipping!_ZN16FNamedTaskThread21ProcessTasksUntilQuitEi(+0x42)
MordhauServer-Linux-Shipping!_ZN24FTaskGraphImplementation22WaitUntilTasksCompleteERK6TArrayI12TRefCountPtrI11FGraphEventE16TInlineAllocatorILj4E17FDefaultAllocatorEEN13ENamedThreads4TypeE(+0x200)
MordhauServer-Linux-Shipping!_ZN18FTickTaskSequencer16ReleaseTickGroupE13ETickingGroupb(+0xba)
MordhauServer-Linux-Shipping!_ZN16FTickTaskManager12RunTickGroupE13ETickingGroupb(+0x17)
MordhauServer-Linux-Shipping!_ZN6UWorld4TickE10ELevelTickf(+0x84c)
MordhauServer-Linux-Shipping!_ZN11UGameEngine4TickEfb(+0x2c3)
MordhauServer-Linux-Shipping!_ZN11FEngineLoop4TickEv(+0x3bb)
MordhauServer-Linux-Shipping!_Z11GuardedMainPKw(+0x299)
MordhauServer-Linux-Shipping!_Z14CommonUnixMainiPPcPFiPKwE(+0xa9c)
libc.so.6!
libc_start_main(+0xf4)
MordhauServer-Linux-Shipping!UnknownFunction(0x334b028)

<CALLSTACK END>
0 loaded modules
Report end!

and

Status: OFFLINE
mhserver Script Details
=============================================================================================================================================================================================================================================================================Service name: mhserver
mhserver version: v19.8.1
User: mhserver
glibc required: 2.17
Discord alert: off
Email alert: off
Pushbullet alert: off
IFTTT alert: off
Mailgun (email) alert: off
Pushover alert: off
Telegram alert: off
Update on start: off
Location: /home/mhserver
Config file: /home/mhserver/serverfiles/Mordhau/Saved/Config/LinuxServer/Game.ini

What OS and provider are you on?

6 0

I have the following problems hosting this on my LAN:

  1. I can't see it on the server list. If I connected to a VPN, I can see it on the list. Typing open 192.168.1.11 does not do anything.
  2. When I am behind a VPN and try to connect to the server, I get the error "Failed to update server information"
    [SOLVED] pfSense had the same port forwarded to multiple devices

All the ports are forwarded on the router. Server is Ubuntu 18 LTSB. I'm hosting an Arma 3 server just fine.

Mordhau.log

connection error.JPG!

NAT2.JPG

6 0

@JacktheSmack said:
I have the following problems hosting this on my LAN:

  1. I can't see it on the server list. If I connected to a VPN, I can see it on the list. Typing open 192.168.1.11 does not do anything.
  2. When I am behind a VPN and try to connect to the server, I get the error "Failed to update server information"

All the ports are forwarded on the router. Server is Ubuntu 18 LTSB. I'm hosting an Arma 3 server just fine.

Mordhau.log

connection error.JPG!

NAT2.JPG

Figured this out. The server name had some weird characters. When I changed it to only have letters and spaces, it worked immediately.

Name I was attempting: DCE | Horde Mode 24/7
Name that worked: DCE Horde Mode

Very strange.

Edit: Nevermind. I got the same error again. That was just a fluke. I have to try to connect to the server 5 times before it lets me in. Maybe it's requesting unopened ports that aren't forwarded on my router, and sometimes it gets an open one? Like, the range is too small. IDK

531 283
  • 6 Jul
 Gambit

@JacktheSmack said:
I have the following problems hosting this on my LAN:

  1. I can't see it on the server list. If I connected to a VPN, I can see it on the list. Typing open 192.168.1.11 does not do anything.
  2. When I am behind a VPN and try to connect to the server, I get the error "Failed to update server information"

All the ports are forwarded on the router. Server is Ubuntu 18 LTSB. I'm hosting an Arma 3 server just fine.

Mordhau.log

connection error.JPG!

NAT2.JPG

Are you running an Arma and Mordhau server on the same PC you play games?

6 0

@Gambit said:

@JacktheSmack said:
I have the following problems hosting this on my LAN:

  1. I can't see it on the server list. If I connected to a VPN, I can see it on the list. Typing open 192.168.1.11 does not do anything.
  2. When I am behind a VPN and try to connect to the server, I get the error "Failed to update server information"

All the ports are forwarded on the router. Server is Ubuntu 18 LTSB. I'm hosting an Arma 3 server just fine.

Mordhau.log

connection error.JPG!

NAT2.JPG

Are you running an Arma and Mordhau server on the same PC you play games?

No, the servers are running on a dedicated Linux box on LAN. I was able to successfully connect after multiple tries though. If I disconnect, it takes multiple tries before I get in. Load on the server is very light.

load.JPG

6 0

So I figured out the inability to connect until after several retries. It was because Pfsense allows the same port to be forwarded to multiple devices on a network, without giving the user a warning or error in the UI. So I resolved the conflict and can now consistently connect while on VPN.

However, I still have the LAN issue. I can actually see it in the Steam Server browser if I add the server to favorites, but connecting to it just brings me to the main menu in Mordhau. The server produces no logs about any attempt to connect. It will produce a log event when I refresh the server info in the Steam server browser.

server list.png

9 0

@Gambit said:

What OS and provider are you on?

Centos 7, VPS provider is ServerStrong

9 0

@JacktheSmack said:
So I figured out the inability to connect until after several retries. It was because Pfsense allows the same port to be forwarded to multiple devices on a network, without giving the user a warning or error in the UI. So I resolved the conflict and can now consistently connect while on VPN.

However, I still have the LAN issue. I can actually see it in the Steam Server browser if I add the server to favorites, but connecting to it just brings me to the main menu in Mordhau. The server produces no logs about any attempt to connect. It will produce a log event when I refresh the server info in the Steam server browser.

server list.png

I have the same issue as well... when I couldn't get enough help, I tried going the VPS route and it still doesn't work.

Pretty annoyed, TBH.

531 283
  • 8 Jul
 Gambit

@d34thmittens said:

@Gambit said:

What OS and provider are you on?

Centos 7, VPS provider is ServerStrong

Why that host out of curiosity? And have you forwarded both tcp and udp for the 3 needed ports? My server showed up in the browser when I had 27015 opened but not 15000. If it's a fresh box that you don't do anything on, check out my thread on the admin dashboard. It has a one line install script that sets up everything you need for Centos.

6 0

I ran open 192.168.1.11:7877 in the console with wireshark running, and no packets were sent or received from that address.

wireshark.PNG

If I click on the Internet server list in Mordhau, click Refresh with my server's name filtered, I do get a packet from it. But I cannot see it in the list.

wireshark2.PNG

Here's the packet when behind a VPN

wireshark3.PNG

531 283
  • 9 Jul
 Gambit

@JacktheSmack said:
I ran open 192.168.1.11:7877 in the console with wireshark running, and no packets were sent or received from that address.

wireshark.PNG

If I click on the Internet server list in Mordhau, click Refresh with my server's name filtered, I do get a packet from it. But I cannot see it in the list.

wireshark2.PNG

Here's the packet when behind a VPN

wireshark3.PNG

I don't think you have forwarded all of the ports correctly.

I have a signature

9 0

@Gambit said:
Why that host out of curiosity? And have you forwarded both tcp and udp for the 3 needed ports? My server showed up in the browser when I had 27015 opened but not 15000. If it's a fresh box that you don't do anything on, check out my thread on the admin dashboard. It has a one line install script that sets up everything you need for Centos.

... why would it matter? It was $65 for a year, on a decently specced VPS. I specifically didn't want to spend a ton of money because I have a fully capable hypervisor in my basement which doesn't work for literally just this one game.

Anyways, I think we're getting our streams crossed here:

My local server, on my local network, is the one that I can't connect to. It has no router or virtual firewall rules set between my desktop and server. It's running firewalld and has rules to allow for traffic on 27015 / 15000 / 7777 for both TCP and UDP. Furthermore, all of my friends can connect to this server outside of my network. As it's internal <-> internal traffic, port forwarding is not relevant. It's not traversing a firewall, therefore does not need to forward traffic.

Running a TCPDUMP, I can see traffic being passed when I refresh the server status in the steam server menu, and a few packets passed when it attempts to connect however it dies at the loading screen. Typing 'open 192.168.1.33' does not send any packets, nor does it work with any other ports specified in the open string.

15:31:06.845021 IP 192.168.1.191.64121 > game.someFQDN.co.27015: UDP, length 25
15:31:06.890361 IP game.someFQDN.27015 > 192.168.1.191.64121: UDP, length 109

[[email protected] ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: dhcpv6-client ssh
ports: 80/tcp 53/udp 53/tcp 27015/tcp 27015/udp 7777/tcp 7777/udp 15000/udp 15000/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

The VPS on the internet is the one that crashes, and the same memory violation error when pasted into the google search machine returns several other results of non-mordhau (but UT4 engine based) games.

6 0

@Gambit said:

@JacktheSmack said:
I ran open 192.168.1.11:7877 in the console with wireshark running, and no packets were sent or received from that address.

wireshark.PNG

If I click on the Internet server list in Mordhau, click Refresh with my server's name filtered, I do get a packet from it. But I cannot see it in the list.

wireshark2.PNG

Here's the packet when behind a VPN

wireshark3.PNG

I don't think you have forwarded all of the ports correctly.

I have a signature

Other people can connect fine. I had a dozen people playing last night. And port forwarding is for the barrier between the internet and the LAN, not between computers on the same LAN.

531 283
  • 9 Jul
 Gambit

@d34thmittens said:

@Gambit said:
Why that host out of curiosity? And have you forwarded both tcp and udp for the 3 needed ports? My server showed up in the browser when I had 27015 opened but not 15000. If it's a fresh box that you don't do anything on, check out my thread on the admin dashboard. It has a one line install script that sets up everything you need for Centos.

... why would it matter? It was $65 for a year, on a decently specced VPS. I specifically didn't want to spend a ton of money because I have a fully capable hypervisor in my basement which doesn't work for literally just this one game.

Anyways, I think we're getting our streams crossed here:

My local server, on my local network, is the one that I can't connect to. It has no router or virtual firewall rules set between my desktop and server. It's running firewalld and has rules to allow for traffic on 27015 / 15000 / 7777 for both TCP and UDP. Furthermore, all of my friends can connect to this server outside of my network. As it's internal <-> internal traffic, port forwarding is not relevant. It's not traversing a firewall, therefore does not need to forward traffic.

Running a TCPDUMP, I can see traffic being passed when I refresh the server status in the steam server menu, and a few packets passed when it attempts to connect however it dies at the loading screen. Typing 'open 192.168.1.33' does not send any packets, nor does it work with any other ports specified in the open string.

15:31:06.845021 IP 192.168.1.191.64121 > game.someFQDN.co.27015: UDP, length 25
15:31:06.890361 IP game.someFQDN.27015 > 192.168.1.191.64121: UDP, length 109

[[email protected] ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens160
sources:
services: dhcpv6-client ssh
ports: 80/tcp 53/udp 53/tcp 27015/tcp 27015/udp 7777/tcp 7777/udp 15000/udp 15000/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

The VPS on the internet is the one that crashes, and the same memory violation error when pasted into the google search machine returns several other results of non-mordhau (but UT4 engine based) games.

The reason I asked is because I expected what I'm about to tell you. No provider is going to give you a 4 core, 6gb ram server for $5 a month, unless it is really low quality hardware.

Also as already mentioned, connecting to local servers can be troublesome. This has been noted by the devs and is only solved by connecting through a VPN. Hosting locally isn't worth it too.

The VPS you have hosted remotely is obviously not what it is sold as, get a different, more trustworthy host. I don't know what kind of slot server you're trying to host, but I recommend digital ocean or vultr for best price to performance. Do not trust the host you've chosen.

I have a signature

1 0
  • 23 Jul
 Claim1234

You should ask help from https://www.obhost.net/ they are super friendly in solving any kind of problem.

5 0

Hi All,

it necessary to login with user account?

It is possible to login anonymous?

I have server, and setup it as anonymous but server not visible in-game (ports a open), i not want login with my account because of 2FA.

1 0

I am unable to see my server in the server list, or connect directly using "open".

This was working fine for a while. Trouble started a couple weeks ago and I didnt have time to mess with it. I am running a VPS on Linode, and have opened ports configuring iptables via ufw and opened both TCP and UDP just in case...

[[email protected]][~]> sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
22                         ALLOW       Anywhere
64777                      ALLOW       Anywhere
7777/udp                   ALLOW       Anywhere
27015/udp                  ALLOW       Anywhere
15000/udp                  ALLOW       Anywhere
7777                       ALLOW       Anywhere
27015                      ALLOW       Anywhere
7778/udp                   ALLOW       Anywhere
7778                       ALLOW       Anywhere

Am I missing any ports? I am not getting any errors in the server process. I can see that is picking up the correct public IP and is listening on 7777 and 15000 based on the server output.

Here is the output from lsof:

MordhauSe 10226         steam   15u  IPv4 5899828      0t0  UDP *:27015
MordhauSe 10226         steam   17u  IPv4 5900668      0t0  UDP *:7777
MordhauSe 10226         steam   19u  IPv4 5900669      0t0  UDP *:15000
MordhauSe 10226         steam   21u  IPv4 5899839      0t0  TCP 97.107.133.234:45335->162.254.193.7:27021 (ESTABLISHED)

Anyone have ideas of things I could try?

RESOLVED: it seems like the server needs to be ping-able (respond to ICMP echo). I had an old lingering firewall rule that disabled this.