BeamMP server crashes. Log says last error was "Invalid version header"

Hi.
I’m hosting my own BeamMP server for the first time, but the server is crashing every few minutes, leading to us being spat out and requiring the server to be re-executed.
There doesn’t appear to be anything wrong with the computer.
I’m not running out of resources although I will admit I’m consuming a few before even running the server.
Only thing I can think of is if I’m supposed to port-forward for the http/https side as I’m only port-forwarding for the server itself.
My specs:
i7 11700KF
64gb TeamGroup ddr4 ram
Os drive (also hosting server install): 1tb Samsung 980 Pro NVMe m.2 ssd.
Ram usage before server is started: 41%
OS: win10 pro 21h2 (os build 19044.1889)
BeamMP: v4.3.3.
BeamNG: Alpha v0.26.1

Connection is a very reliable 50/25 vdsl2 connection with g.inp enabled on the isp side.

Server.log:
[30/09/22 18:06:25] [INFO] BeamMP Server v3.0.2
[30/09/22 18:06:25] [INFO] PluginMonitor started
[30/09/22 18:06:25] [INFO] Sentry started! Reporting errors automatically. This sends data to the developers in case of errors and crashes. You can learn more, turn this message off or opt-out of this in the ServerConfig.toml.
[30/09/22 18:06:25] [INFO] Vehicle data network online on port 28016 with a Max of 2 Clients
[30/09/22 18:06:25] [INFO] Vehicle event network online
[30/09/22 18:06:26] [INFO] Server up-to-date!
[30/09/22 18:06:31] [INFO] Authenticated!
[30/09/22 18:06:31] [INFO] ALL SYSTEMS STARTED SUCCESSFULLY, EVERYTHING IS OKAY
[30/09/22 18:06:36] [INFO] Identifying new ClientConnection…
[30/09/22 18:06:37] [INFO] Identification success
[30/09/22 18:06:37] [INFO] Client connected
[30/09/22 18:06:37] [INFO] Assigned ID 0 to Brolafsky
[30/09/22 18:06:37] [INFO] Brolafsky : Connected
[30/09/22 18:07:13] [INFO] Identifying new ClientConnection…
[30/09/22 18:07:13] [INFO] Identification success
[30/09/22 18:07:13] [INFO] Client connected
[30/09/22 18:07:13] [INFO] Assigned ID 1 to Wrendre
[30/09/22 18:07:14] [INFO] Wrendre : Connected
[30/09/22 18:07:14] [INFO] Wrendre Connection Terminated
[30/09/22 18:07:17] [INFO] Brolafsky is now synced!
[30/09/22 18:14:26] [INFO] Identifying new ClientConnection…
[30/09/22 18:14:27] [INFO] Identification success
[30/09/22 18:14:27] [INFO] Client connected
[30/09/22 18:14:27] [INFO] Assigned ID 1 to Wrendre
[30/09/22 18:14:27] [INFO] Wrendre : Connected
[30/09/22 18:16:13] [INFO] Wrendre is now synced!
[30/09/22 18:19:11] [INFO] Identifying new ClientConnection…
[30/09/22 18:19:11] [INFO] Client kicked: Header size limit exceeded
[30/09/22 18:19:11] [WARN] Client Unknown Client (-1) sent header of >100MB - assuming malicious intent and disconnecting the client.
[30/09/22 18:19:11] [INFO] Client kicked: Invalid version header!
Server appears to crash/have crashed here.

ServerConfig.toml:
# This is the BeamMP-Server config file.
# Help & Documentation: https://wiki.beammp.com/en/home/server-maintenance
# IMPORTANT: Fill in the AuthKey with the key you got from https://beammp.com/k/dashboard on the left under “Keys”

[General]
Name = “Brolafskyville”
Port = 28016
# AuthKey has to be filled out in order to run the server
AuthKey = “REDACTED”
Debug = false
Private = true
MaxCars = 1
MaxPlayers = 2
Map = “/levels/TSH/info.json”
Description = “Jussa lil private playground, innit”
ResourceFolder = “Resources”

[Misc]
# Hides the periodic update message which notifies you of a new server version. You should really keep this on and always update as soon as possible. For more information visit Server Maintenance | BeamMP. An update message will always appear at startup regardless.
ImScaredOfUpdates = false
# If SendErrors is true, the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to false
SendErrorsShowMessage = true
# You can turn on/off the SendErrors message you get on startup here
SendErrors = true

[HTTP]
# Which IP to listen on. Pick 0.0.0.0 for a public-facing server with no specific IP, and 127.0.0.1 or ‘localhost’ for a local server.
HTTPServerIP = “127.0.0.1”
SSLKeyPath = “./.ssl/HttpServer/key.pem”
SSLCertPath = “./.ssl/HttpServer/cert.pem”
HTTPServerPort = 8080
# Recommended to have enabled for servers which face the internet. With SSL the server will serve https and requires valid key and cert files
UseSSL = false
# Enables the internal HTTP server
HTTPServerEnabled = false

Do you have mods in the server? client or serverside?

I’ve got mods on my end, but disabled when playing the server.
I did install an aftermarket map which is used on the server, but since the problem was presenting itself before that, I don’t see how uninstalling it would change anything.

enable Debug (Debug = true) and redo then upload the log. It will contain more information

Okay. I’ll enable that and give it another try in the next few hours.

Started the server up again with ‘debug = true’ being the only change to the config.
This time it crashed sooner than it had before.

I loaded in to the same map as before.
Spawned a vanilla car.
Loaded a config of said vanilla car I’d made a couple hours earlier.
I proceeded to drive the car not more than a meter and a half before being booted off, most likely as a result of the server crashing.

Note: It’s entirely possible there’s something wrong with the car despite it being vanilla and having been edited in-game without the use of any mods or repositories.
I say that because I’d spawned in that exact car earlier on a 3rd party server while on there with a friend.
As I was editing the car, something happened that I think I’ve seen happen once before. Something to do with editing said car caused some kind of communications problem between the server and I resulting in any cars I’d drive for the next minute or two not properly updating neither on the server’s end, nor my friends. Only to be updated upon vehicle reset, until the issue fixing itself. So. That time I did “unload” said car and replace it with another vanilla car.
This is the log with debug = true from that modded car potentially crashing my server.

Start of log.
[01/10/22 05:00:03] [INFO] BeamMP Server v3.0.2
[01/10/22 05:00:03.727] [DEBUG] Debug: true
[01/10/22 05:00:03.727] [DEBUG] Private: true
[01/10/22 05:00:03.727] [DEBUG] Port: 28016
[01/10/22 05:00:03.727] [DEBUG] MaxCars: 1
[01/10/22 05:00:03.727] [DEBUG] MaxPlayers: 2
[01/10/22 05:00:03.727] [DEBUG] Map: “/levels/TSH/info.json”
[01/10/22 05:00:03.728] [DEBUG] Name: “Brolafskyville”
[01/10/22 05:00:03.728] [DEBUG] Description: “Jussa lil private playground, innit”
[01/10/22 05:00:03.728] [DEBUG] ResourceFolder: “Resources”
[01/10/22 05:00:03.728] [DEBUG] SSLKeyPath: “./.ssl/HttpServer/key.pem”
[01/10/22 05:00:03.728] [DEBUG] SSLCertPath: “./.ssl/HttpServer/cert.pem”
[01/10/22 05:00:03.728] [DEBUG] HTTPServerPort: “8080”
[01/10/22 05:00:03.728] [DEBUG] HTTPServerIP: “127.0.0.1”
[01/10/22 05:00:03.728] [DEBUG] Key Length: 36
[01/10/22 05:00:03.729] PluginMonitor [INFO] PluginMonitor started
[01/10/22 05:00:03.729] LuaEngine [EVENT] onInit
[01/10/22 05:00:03.731] Main [INFO] Sentry started! Reporting errors automatically. This sends data to the developers in case of errors and crashes. You can learn more, turn this message off or opt-out of this in the ServerConfig.toml.
[01/10/22 05:00:03.731] PPSMonitor [DEBUG] PPSMonitor starting
[01/10/22 05:00:03.732] UDPServer [INFO] Vehicle data network online on port 28016 with a Max of 2 Clients
[01/10/22 05:00:03.732] TCPServer [INFO] Vehicle event network online
[01/10/22 05:00:04.025] Main [INFO] Server up-to-date!
[01/10/22 05:00:08.825] Heartbeat [DEBUG] heartbeat (after 5s)
[01/10/22 05:00:09.319] Heartbeat [INFO] Resumed authenticated session!
[01/10/22 05:00:09.335] Main(Waiting) [INFO] ALL SYSTEMS STARTED SUCCESSFULLY, EVERYTHING IS OKAY
[01/10/22 05:00:17.647] Identify [INFO] Identifying new ClientConnection…
[01/10/22 05:00:18.026] Identify [DEBUG] Name → Brolafsky, Guest → 0, Roles → USER
[01/10/22 05:00:18.026] Identify [EVENT] onPlayerAuth
[01/10/22 05:00:18.026] Identify [INFO] Identification success
[01/10/22 05:00:18.026] Identify [DEBUG] inserting client (0)
[01/10/22 05:00:18.026] Identify [INFO] Client connected
[01/10/22 05:00:18.026] Identify [INFO] Assigned ID 0 to Brolafsky
[01/10/22 05:00:18.026] Identify [EVENT] onPlayerConnecting
[01/10/22 05:00:18.026] Identify [DEBUG] Sending Mod Info
[01/10/22 05:00:18.028] Identify [INFO] Brolafsky : Connected
[01/10/22 05:00:18.028] Identify [EVENT] onPlayerJoining
[01/10/22 05:00:18.088] Heartbeat [DEBUG] heartbeat (after 9s)
[01/10/22 05:00:48.167] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:00:58.135] (0) “Brolafsky” [EVENT] onPlayerJoin
[01/10/22 05:00:58.135] (0) “Brolafsky” [INFO] Brolafsky is now synced!
[01/10/22 05:01:18.209] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:01:41.852] (0) “Brolafsky” [DEBUG] Received data from: Brolafsky Size: 4643
[01/10/22 05:01:41.852] (0) “Brolafsky” [DEBUG] Brolafsky created a car with ID 0
[01/10/22 05:01:41.853] (0) “Brolafsky” [EVENT] onVehicleSpawn
[01/10/22 05:01:42.881] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:01:48.274] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:02:04.148] (0) “Brolafsky” [EVENT] onVehicleReset
End of log.

I didn’t feel like that was enough, so I loaded back in and drove the Bruckell Bastion - Hotlap special around, then changing over to the Ibishu Hopper - Drag and driving that for a little bit before the server again, just stopped abruptly. Here’s the log from that incident.
Start of log.
[01/10/22 05:13:38] [INFO] BeamMP Server v3.0.2
[01/10/22 05:13:38.724] [DEBUG] Debug: true
[01/10/22 05:13:38.724] [DEBUG] Private: true
[01/10/22 05:13:38.724] [DEBUG] Port: 28016
[01/10/22 05:13:38.724] [DEBUG] MaxCars: 1
[01/10/22 05:13:38.724] [DEBUG] MaxPlayers: 2
[01/10/22 05:13:38.724] [DEBUG] Map: “/levels/TSH/info.json”
[01/10/22 05:13:38.724] [DEBUG] Name: “Brolafskyville”
[01/10/22 05:13:38.724] [DEBUG] Description: “Jussa lil private playground, innit”
[01/10/22 05:13:38.724] [DEBUG] ResourceFolder: “Resources”
[01/10/22 05:13:38.724] [DEBUG] SSLKeyPath: “./.ssl/HttpServer/key.pem”
[01/10/22 05:13:38.724] [DEBUG] SSLCertPath: “./.ssl/HttpServer/cert.pem”
[01/10/22 05:13:38.724] [DEBUG] HTTPServerPort: “8080”
[01/10/22 05:13:38.724] [DEBUG] HTTPServerIP: “127.0.0.1”
[01/10/22 05:13:38.724] [DEBUG] Key Length: 36
[01/10/22 05:13:38.725] PluginMonitor [INFO] PluginMonitor started
[01/10/22 05:13:38.725] LuaEngine [EVENT] onInit
[01/10/22 05:13:38.726] Main [INFO] Sentry started! Reporting errors automatically. This sends data to the developers in case of errors and crashes. You can learn more, turn this message off or opt-out of this in the ServerConfig.toml.
[01/10/22 05:13:38.727] PPSMonitor [DEBUG] PPSMonitor starting
[01/10/22 05:13:38.727] UDPServer [INFO] Vehicle data network online on port 28016 with a Max of 2 Clients
[01/10/22 05:13:38.727] TCPServer [INFO] Vehicle event network online
[01/10/22 05:13:39.046] Main [INFO] Server up-to-date!
[01/10/22 05:13:43.795] Heartbeat [DEBUG] heartbeat (after 5s)
[01/10/22 05:13:44.304] Heartbeat [INFO] Authenticated!
[01/10/22 05:13:44.335] Main(Waiting) [INFO] ALL SYSTEMS STARTED SUCCESSFULLY, EVERYTHING IS OKAY
[01/10/22 05:14:10.554] Identify [INFO] Identifying new ClientConnection…
[01/10/22 05:14:10.988] Identify [DEBUG] Name → Brolafsky, Guest → 0, Roles → USER
[01/10/22 05:14:10.988] Identify [EVENT] onPlayerAuth
[01/10/22 05:14:10.988] Identify [INFO] Identification success
[01/10/22 05:14:10.988] Identify [DEBUG] inserting client (0)
[01/10/22 05:14:10.988] Identify [INFO] Client connected
[01/10/22 05:14:10.988] Identify [INFO] Assigned ID 0 to Brolafsky
[01/10/22 05:14:10.988] Identify [EVENT] onPlayerConnecting
[01/10/22 05:14:10.988] Identify [DEBUG] Sending Mod Info
[01/10/22 05:14:10.990] Identify [INFO] Brolafsky : Connected
[01/10/22 05:14:10.990] Identify [EVENT] onPlayerJoining
[01/10/22 05:14:11.049] Heartbeat [DEBUG] heartbeat (after 27s)
[01/10/22 05:14:41.105] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:14:44.767] (0) “Brolafsky” [EVENT] onPlayerJoin
[01/10/22 05:14:44.767] (0) “Brolafsky” [INFO] Brolafsky is now synced!
[01/10/22 05:15:11.127] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:15:37.415] (0) “Brolafsky” [DEBUG] Received data from: Brolafsky Size: 5558
[01/10/22 05:15:37.415] (0) “Brolafsky” [DEBUG] Brolafsky created a car with ID 0
[01/10/22 05:15:37.415] (0) “Brolafsky” [EVENT] onVehicleSpawn
[01/10/22 05:15:38.751] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:15:41.138] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:16:11.218] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:16:33.644] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:16:41.309] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:16:56.295] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:17:11.262] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:17:11.314] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:17:41.336] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:18:11.436] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:18:41.444] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:19:11.477] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:19:33.402] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:19:37.104] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:19:41.551] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:20:11.618] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:20:41.629] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:20:57.762] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:21:11.725] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:21:41.824] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:21:58.736] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:22:11.833] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:22:12.426] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:22:39.061] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:22:41.876] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:22:50.263] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:22:52.018] Heartbeat [DEBUG] POST failed: Read
[01/10/22 05:22:52.018] Heartbeat [DEBUG] Failed to contact backend at backend.beammp.com (this is not an error).
[01/10/22 05:23:11.965] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:23:24.848] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:23:42.018] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:23:53.358] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:24:12.109] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:24:22.539] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:24:42.167] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:24:55.344] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:25:12.228] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:25:14.231] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:25:42.321] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:26:11.108] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:26:12.425] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:26:42.459] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:27:12.504] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:27:38.301] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:27:42.523] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:28:12.597] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:28:40.581] (0) “Brolafsky” [DEBUG] Received data from: Brolafsky Size: 4723
[01/10/22 05:28:40.581] (0) “Brolafsky” [EVENT] onVehicleEdited
[01/10/22 05:28:41.313] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:28:41.409] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:28:42.652] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:29:12.691] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:29:42.796] Heartbeat [DEBUG] heartbeat (after 30s)
[01/10/22 05:30:07.253] (0) “Brolafsky” [EVENT] onVehicleReset
[01/10/22 05:30:12.864] Heartbeat [DEBUG] heartbeat (after 30s)
End of log.

Hi, I’m the developer of the server.

You said:

Server appears to crash/have crashed here.

What does this exactly mean? Did it exit, or did it remain running, but unresponsive, or something?

Further, do you use a static IP or even one that has some DNS entries pointing to it? Is there anyone who you can imagine would want to take down your server? Did somebody you know connect at that time (30/09/22 18:19:11) after Wrendre connected, and if so, what version are they running, and what happened on their end?

Also welcome to the forum! :slight_smile:

Lion

Also, to add to my reply: The http(s) server doesn’t do anything, leave it off (it wont cause this, though)

The server appears to just crash, out of thin air.
I don’t know if my isp hands out static ipv4 ip’s by default, but I believe I asked for one about a year and a half ago, so my ip has been static ever since.
The only port I’m forwarding is for the BeamMP server, and by that, I’m not even forwarding on the default port, but I edited the config to play nicely with Steam’s official cs port (28016).
On my computer I’m using cloudflare’s dns (1.1.1.1; 1.0.0.1) as opposed to my isp’s dns which for some reason is slower than cloudflare’s.
I had neither informed, nor given my ip out to anyone besides Wrendre. Wrendre wouldn’t have any reason to give my ip out to anyone either since we weren’t exactly looking to add more people to our party. Do I know of anyone who would want to take down my server? Not that I’m aware of. Not like I use vpn’s or have done anything mischievous online. Though I suppose it’s quite possible it was just a random attack.

And thank you for the warm welcome :slight_smile:
If you’d like even more info, I could do a screen recording with obs, showing beammp, the beammp server and task manager if you believe that’d be of help.

Okay, thanks for all the info!

Are you able to reproduce it?