|
| 1 | +--- |
| 2 | +hidden: true |
| 3 | +icon: server |
| 4 | +--- |
| 5 | + |
| 6 | +# Servers |
| 7 | + |
| 8 | +FO does not require any special setup server-side: any server compatible with vanilla should be supported. However, we've compiled a list of recommendations for server-side setup. |
| 9 | + |
| 10 | +{% hint style="warning" %} |
| 11 | +All content on this page is just a suggestion, and FO does not offer support for server setup. If you need help with it, please ask in the respective mod or platform support site. |
| 12 | +{% endhint %} |
| 13 | + |
| 14 | +## Optimize Server Software |
| 15 | + |
| 16 | +{% hint style="danger" %} |
| 17 | +Avoid using Realms! Read more in the [Player Reporting article](../info/mods/player-reporting.md). |
| 18 | +{% endhint %} |
| 19 | + |
| 20 | +For the best performance, use one of the following server software options: |
| 21 | + |
| 22 | +* [Paper](https://papermc.io/) |
| 23 | +* [Pufferfish](https://github.com/pufferfish-gg/Pufferfish) |
| 24 | +* [Purpur](https://github.com/PurpurMC/Purpur) |
| 25 | + |
| 26 | +Those are optimized forks of Spigot, and support all Spigot plugins. |
| 27 | + |
| 28 | +If you want to use Fabric instead: |
| 29 | + |
| 30 | +1. [Install Fabric on a server](https://fabricmc.net/use/?page=server). |
| 31 | +2. Add [server-side optimization mods](https://modrinth.com/mods?o=20&f=categories:%27optimization%27&g=categories:%27fabric%27&nf=categories:cursed&v=1.21.1&e=server). |
| 32 | + |
| 33 | +If you need a host, consider [BisectHosting (affiliate link)](https://download.fo/host) for a 25% discount for the first month, while supporting FO financially. Thank you! |
| 34 | + |
| 35 | +## Write Rules for Your Server |
| 36 | + |
| 37 | +Please be careful when writing rules for your server, to avoid putting unnecessary restrictions on users: |
| 38 | + |
| 39 | +| DON'T | DO | Rationale | |
| 40 | +| ----- | -- | --------- | |
| 41 | +| Only OptiFine allowed | Performance and visual-enhancing mods are allowed | There are multiple mods tackling and solving the same issues, you shouldn't limit players to one specific mod | |
| 42 | +| Only mini-map mod "X" is allowed | Mini-map mods with player radar disabled are allowed | Allowing one mod by name ties users to its updates, excluding all alternatives. Also, mods may change their default configuration or add features your rules disallow at any time, so you should specify which features are acceptable | |
| 43 | +| Max 25 mods allowed | _nothing_ | Arbitrary mod counts do not benefit anything at all, since some may be huge and do many things, while others are very small | |
| 44 | +| Only Forge mods are allowed | _nothing_ | Restricting certain mod loaders does more harm than good to your player base and to the Minecraft ecosystem as a whole | |
| 45 | + |
| 46 | +A generally good rule of thumb is: restrict behaviors, not mods. |
| 47 | + |
| 48 | +## Configure Player Reporting |
| 49 | + |
| 50 | +{% hint style="info" %} |
| 51 | +Read more on the ["Protecting Server Players" page in the No Chat Reports wiki](https://github.com/Aizistral-Studios/No-Chat-Reports/wiki/Protecting-server-players). |
| 52 | +{% endhint %} |
| 53 | + |
| 54 | +Minecraft 1.19.1 introduced chat reporting, which many servers disable. As a server admin, you can do the following: |
| 55 | + |
| 56 | +* If you're on **1.18.2 or earlier**, there's no need to do anything, as Player Reporting didn't exist yet. |
| 57 | + * FO users will see this icon:  <!-- TODO: verify --> |
| 58 | + * Vanilla users will see a gray bar next to the messages, and their messages will not be reportable |
| 59 | +* If you're on **1.19 or newer**: |
| 60 | + * Set `enforce-secure-profile` to `false` in `server.properties`, to allow users to not sign messages |
| 61 | + * FO users will see this icon:  |
| 62 | + * Vanilla users will see a warning toast in the top-right corner, but their messages will still be reportable |
| 63 | + * Some hosts use different configuration files: |
| 64 | + * Velocity: set `force-key-authentication` to `false` in `velocity.toml` |
| 65 | + * BungeeCord: set `enforce_secure_profile` to `false` in `config.yml` |
| 66 | + * Install a plugin to completely disable Player Reporting: |
| 67 | + * Paper/Purpur/Pufferfish: install the [FreedomChat plugin](https://modrinth.com/mod/freedomchat) |
| 68 | + * Set `rewrite-chat` and `send-prevents-chat-reports-to-client` to `true` in FreedomChat's configuration |
| 69 | + * FO users will see this icon:  |
| 70 | + * Vanilla users will see a gray bar next to the messages, and their messages will not be reportable |
| 71 | + * Fabric/Quilt/Forge: install the [No Chat Reports mod](https://modrinth.com/mod/no-chat-reports) |
| 72 | + * FO users will see this icon:  |
| 73 | + * Vanilla users will see a gray bar next to the messages, and their messages will not be reportable |
| 74 | + * LAN worlds: host with FO or install the [No Chat Reports mod](https://modrinth.com/mod/no-chat-reports) on the clients |
| 75 | + * FO users will see this icon:  |
| 76 | + * Vanilla users will see a gray bar next to the messages, and their messages will not be reportable |
| 77 | + * LAN-like worlds ([e4mc](https://e4mc.link/), [World Host](https://modrinth.com/mod/world-host), [Essential](https://essential.gg/)...): host with FO or install the [No Chat Reports mod](https://modrinth.com/mod/no-chat-reports) on the clients |
| 78 | + * FO users will see this icon:  |
| 79 | + * Vanilla users will see a warning toast in the top-right corner, but their messages will still be reportable <!-- TODO: verify --> |
| 80 | + * Realms: almost impossible to circumvent |
| 81 | + * Mojang monitors ALL chats in Realms! Read more in the [Player Reporting article](../info/mods/player-reporting.md) |
| 82 | + * FO users will see this icon:  |
| 83 | + * Vanilla users will not be warned at all, but their messages will be reportable |
| 84 | + * You could: |
| 85 | + * Encrypt your messages. Read more in the [Player Reporting article](../info/mods/player-reporting.md) |
| 86 | + * Use the [No More Chat Reports datapack](https://www.planetminecraft.com/data-pack/no-more-chat-reports-datapack), and use the book only to chat |
| 87 | + * Consider relying on [BisectHosting (affiliate link)](https://download.fo/host) for a 25% discount for the first month, while supporting FO financially and avoiding surveillance altogether. Thank you! |
| 88 | + |
| 89 | +## Allow Client Version Flexibility |
| 90 | + |
| 91 | +{% hint style="warning" %} |
| 92 | +Before following this section, you should [configure Player Reporting](#configure-player-reporting). |
| 93 | +{% endhint %} |
| 94 | + |
| 95 | +Some servers rely on plugins for support of multiple client versions. These plugins transform network packets, so they can, for example, allow users of FO who temporarily play on outdated versions to still join such servers. |
| 96 | + |
| 97 | +* To allow users to join with a client version _newer_ than the server's, use **ViaVersion** |
| 98 | + * This by default allows versions between your server's and the latest release |
| 99 | +* To allow users to join with a client version _older_ than the server's, use **ViaBackwards** |
| 100 | + * This by default allows versions between `1.8` and your server's |
| 101 | + * Newer blocks and entities will show as older types with equivalent properties |
| 102 | +* If you're running Fabric on your server, consider using **ViaFabric** |
| 103 | + |
| 104 | +If your server is hub-based, prefer installing the plugins on each backend server rather than the proxy. |
| 105 | + |
| 106 | +## Add Server-Side Content Mods |
| 107 | + |
| 108 | +With [PolyMc](https://theepicblock.github.io/PolyMc) (not to be confused with the [PolyMC launcher](unsupported.md#polymc)), you can add new content like blocks and items to the server, without requiring users to install mods. Note that PolyMc may not be compatible with ViaVersion and ViaBackwards. |
| 109 | + |
| 110 | +## Other Recommendations |
| 111 | + |
| 112 | +* Recruit voluntary moderators for your server |
| 113 | +* Use anti-cheat plugins |
0 commit comments