Skip to content

Instantly share code, notes, and snippets.

@leycm
Last active May 26, 2025 08:15
Show Gist options
  • Save leycm/1dc4a95f627e673934a56c2ef540c2f5 to your computer and use it in GitHub Desktop.
Save leycm/1dc4a95f627e673934a56c2ef540c2f5 to your computer and use it in GitHub Desktop.
PaperMC Settings Templates

Best PaperMC Configs

This project provides a collection of optimized, ready-to-use PaperMC configuration files for high-performance Minecraft servers.


What’s Included

  • server.properties Basic server setup with optimized view and simulation distance.

  • spigot.yml Reduced entity tracking range, item/XP merge settings, and spawn intervals.

  • bukkit.yml Lower mob spawn limits and optimized tick rates.

  • paper.yml Advanced optimizations: redstone, explosions, armor stands, and chunk saving.

  • paper-global.yml Velocity proxy support (if needed), and global tuning.


Goals

  • Reduce lag and TPS drops
  • Improve tick efficiency
  • Maintain vanilla feel with smarter performance defaults
  • Be plug-and-play for small to medium-sized networks

Usage

  1. Edit the configs into your server directory (replace existing ones).
  2. Review and adjust settings as needed for your setup (player count, hardware).
  3. Restart the server.

⚠️ Always back up your original configs before replacing!


Compatibility

  • PaperMC 1.20.4+
  • Works with BungeeCord and Velocity (proxy support included)

Feedback

Found an issue or have a suggestion? Open an issue or submit a pull request!

Paper Server Configuration

server.properties

online-mode=false
server-port=25566
  • Use a unique port for each server (e.g., 25566, 25567, etc.).
  • online-mode must be false for Bungee compatibility.

spigot.yml

settings:
  bungeecord: true
  • Enables UUID/skin forwarding from the proxy.

bukkit.yml (optional but recommended)

settings:
  connection-throttle: -1
  • Prevents connection issues when players switch servers quickly.

Secure with BungeeGuard (Optional but recommended)

On BungeeCord

  1. Install BungeeGuard-Bungee.jar.

  2. Start Bungee and copy the generated key from plugins/BungeeGuard/config.yml:

    keys:
      - YOUR_SECRET_KEY

On PaperMC Server

  1. Install BungeeGuard-Spigot.jar.

  2. Create plugins/BungeeGuard/config.yml:

    allowed-keys:
      - YOUR_SECRET_KEY

Done! Your Paper server is now ready to connect securely through BungeeCord.

Paper Server Configuration

This guide covers essential performance tweaks for your Paper server to reduce lag and improve stability.


1. server.properties

view-distance=6
simulation-distance=6
  • Reduces chunk loading and entity ticking range.
  • Lower values = better performance.

2. spigot.yml

entity-tracking-range:
  players: 48
  animals: 32
  monsters: 32
  misc: 16
  other: 64

merge-radius:
  item: 4.0
  exp: 6.0

ticks-per:
  animal-spawns: 400
  monster-spawns: 1
  autosave: 6000
  • Reduces unnecessary tracking and merges nearby items/XP.
  • Increases autosave interval to reduce I/O lag.

3. bukkit.yml

spawn-limits:
  monsters: 40
  animals: 8
  water-animals: 5
  ambient: 1

ticks-per:
  animal-spawns: 400
  monster-spawns: 1
  • Reduces spawn counts, especially useful for small servers or many loaded chunks.

4. paper.yml

max-auto-save-chunks-per-tick: 6
use-faster-eigencraft-redstone: true
armor-stands-tick: false
optimize-explosions: true
per-player-mob-spawns: true
  • Disables unnecessary ticking and uses optimized logic.
  • Reduces server load from armor stands, explosions, and redstone.

5. plugins/ Tips

  • Remove unused plugins.
  • Avoid poorly optimized plugins like ClearLag, unless configured well.
  • Monitor performance with plugins like Spark.

That’s it! These settings give you a good performance baseline without breaking gameplay.

Error in user YAML: (<unknown>): found character that cannot start any token while scanning for the next token at line 5 column 1
---

## Paper Server Configuration

### `server.properties`

```properties
online-mode=false
server-port=25566
```

* Use a **unique port** per backend server.
* `online-mode=false` is required because Velocity handles authentication.

---

spigot.yml

settings:
  bungeecord: false
  • Make sure this is false when using Velocity (not BungeeCord).

paper-global.yml

Location: config/paper-global.yml

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: YOUR_FORWARDING_SECRET
  • enabled: true turns on Velocity support.
  • secret must match the value from your Velocity proxy config.

Velocity Proxy Setup

In velocity.toml (on the proxy):

[servers]
lobby = "127.0.0.1:25566"

[forced-hosts]
"play.example.com" = "lobby"

player-info-forwarding-mode = "secret"
forwarding-secret = "YOUR_FORWARDING_SECRET"
  • player-info-forwarding-mode = "secret" enables secure forwarding.
  • forwarding-secret must match the one in paper-global.yml.

Your PaperMC server now connects securely through Velocity, with proper player UUID/skin forwarding and protection from spoofed connections.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment