Quick answer: Capture crashes from player-hosted servers with the server configuration, version, and any mods context, since self-hosted multiplayer runs on player hardware and configurations you do not control and cannot see by default. Opt-in server crash reporting that respects the host is what gives you visibility into player-run servers you must support.

Self-hosted multiplayer, where players run their own servers for your game, is beloved in many communities for the control and longevity it gives, and it creates a crash-reporting challenge: the servers run on player hardware, with player configurations and often player mods, on infrastructure you do not control and cannot see by default. When a player-hosted server crashes, you do not know unless the host tells you, yet you are expected to support the game. Setting up crash reporting for self-hosted multiplayer means capturing crashes from player-run servers with the configuration context, in a way that respects the host.

Self-hosting puts servers beyond your control

Self-hosted multiplayer lets players run their own servers, on their own hardware, with their own configurations and often their own mods, which gives communities the control and longevity they value but puts the servers beyond your direct control and visibility. Unlike servers you operate, where you have full access to crash data, player-hosted servers run on infrastructure you do not own and cannot see into by default, so a crash on a player server is invisible to you unless you build a way to capture it.

This creates a support challenge, since you are expected to support the game, including the self-hosted servers, but you cannot see their crashes the way you see your own servers or even player clients. The servers run in environments you do not control, with configurations and mods that add variables, and the crashes happen on machines you have no access to. Understanding that self-hosting puts the servers beyond your control and visibility is the foundation for crash reporting on player-hosted servers, which must reach into environments you do not own to capture the crashes you would otherwise never see.

Capture crashes from player servers, with consent

To gain visibility into player-hosted server crashes, the server software can capture and report crashes back to you, much as a client does, but because these are servers run by players on their own hardware, this should respect the host, ideally as an opt-in or clearly communicated capability the host can control. A host who chooses to enable crash reporting helps you support the game, while forcing it on player-run servers without consent would be intrusive.

Capture the server crash, the stack trace, and the context, sending it back to you when the host has enabled reporting, so you gain visibility into the player-hosted server crashes that are otherwise invisible. Respecting the host control over this, opt-in or clearly disclosed, is both the right approach for software running on someone else hardware and the way to maintain the trust of the self-hosting community, who value their control. Capturing crashes from player servers with the host consent is how you gain the visibility into self-hosted servers that lets you support them, while respecting the autonomy that makes self-hosting valued.

Capture the server configuration and version

Player-hosted servers run with configurations the host sets and on versions the host runs, and these vary widely, so capture the server configuration and version with every crash, since a crash often depends on the host configuration or the version they are running. A crash specific to a configuration setting, or to an older version some hosts still run, is identifiable through this context, which is essential given the variety across player servers.

Self-hosting means hosts may run different versions, since they control updates, and different configurations, since they tune the server, so the version and configuration context is what lets you interpret a player-server crash. A crash on an old version some hosts have not updated is different from one on the current version, and a crash tied to a particular configuration points at that setting. Capturing the server configuration and version is what makes player-hosted server crashes diagnosable across the variety of configurations and versions the self-hosting community runs, which is far wider than you would control on your own servers.

Account for mods on player servers

Self-hosted servers very often run mods, since the control self-hosting gives is frequently used to run modded servers, and mods are a major crash source on player-hosted servers, as covered in mod community bug tracking. A crash on a modded player server may be caused by a mod, not your game, and you need to distinguish modded from vanilla server crashes to support the game without chasing mod-induced crashes that are not yours to fix.

Capture whether the server is modded and the mods in use, so a modded player-server crash is identifiable and you can separate the crashes caused by mods from those in your game, focusing your support on the base-game server crashes while routing mod issues to the mod authors. The combination of self-hosting and mods means player-server crash data can be heavily mod-influenced, and capturing the mod context keeps it interpretable. Accounting for mods on player servers, capturing the mod context to separate modded from vanilla crashes, is essential for self-hosted multiplayer crash reporting, since the self-hosting community runs mods heavily and you can only fix your own server crashes.

Setting it up with Bugnet

Bugnet can capture crashes from player-hosted servers through the server software, with the server configuration, version, and mod context attached as custom fields, when the host has enabled reporting, giving you visibility into the self-hosted servers you would otherwise not see. Reports flow into one dashboard where you can filter to server crashes and by configuration, version, and modded status.

Group crashes into occurrence counts and use the context to separate vanilla from modded server crashes and identify version and configuration-specific issues, so you can support the base-game server crashes across the variety of player-run servers while routing mod issues appropriately. Because self-hosted servers run beyond your control, this opt-in, context-rich crash capture is what gives you the visibility to support player-hosted multiplayer, seeing the crashes on player servers, distinguishing your bugs from mod issues, and addressing the base-game server crashes that the self-hosting community runs into across their varied configurations and versions.

Support the self-hosting community

Self-hosting communities value their control and autonomy, and supporting them well means respecting that while giving them and yourself the tools to keep their servers stable. The opt-in crash reporting both gives you visibility and respects the host control, and you can extend this by giving server hosts the tools and information to diagnose their own crashes, the logs, the crash data from their server, much as you would empower a modding community.

Communicate a clear support boundary, you support the base-game server, mod issues are the mod authors, configuration issues you help with, so the self-hosting community knows what to expect, as with any community-run extension. Combining the opt-in crash capture for your visibility, the tools for hosts to self-diagnose, and a clear support boundary respects the autonomy the self-hosting community values while keeping the player-run servers stable. Supporting the self-hosting community in this way, with respect for their control and the tools to keep their servers running, is how you make self-hosted multiplayer, beyond your direct control, a supported and stable part of your game.

Self-hosted servers run beyond your control. Capture their crashes with the host's consent, the config, version, and mods.