Skip to main content
Paper provides extensive configuration options through multiple configuration files. This guide covers the essential configuration files and settings you’ll need to customize your server.

Configuration Files Overview

Paper uses several configuration files, each serving a different purpose:
Paper stores its configuration files in the config/ directory. The main Paper configurations are paper-global.yml and paper-world-defaults.yml.

server.properties

This is the primary configuration file for basic server settings. It’s generated on first run.

Essential Settings

server.properties

Key Configuration Options

  • server-ip - The IP address to bind to (leave empty for all interfaces)
  • server-port - The port players connect to (default: 25565)
  • online-mode - Enable Mojang authentication (true for production servers)
  • level-name - The name of the world folder
  • level-seed - World generation seed (empty for random)
  • level-type - World type (normal, flat, large_biomes, amplified)
  • allow-nether - Enable the Nether dimension
  • allow-end - Enable the End dimension (configured in bukkit.yml)
  • difficulty - Game difficulty (peaceful, easy, normal, hard)
  • gamemode - Default game mode (survival, creative, adventure, spectator)
  • hardcore - Enable hardcore mode (permanent death)
  • pvp - Allow player vs player combat
  • spawn-monsters - Allow hostile mob spawning
  • spawn-animals - Allow passive mob spawning
  • view-distance - How far players can see (2-32 chunks, 10 recommended)
  • simulation-distance - How far chunks are actively simulated (3-32)
  • max-tick-time - Watchdog timeout in milliseconds
  • entity-broadcast-range-percentage - Entity visibility range (100 = default)
Setting online-mode=false disables Mojang authentication and allows cracked clients. This is a security risk and should only be used for local testing or with a proxy like Velocity.

bukkit.yml

Bukkit configuration file with spawn limits and basic settings.
bukkit.yml

Important bukkit.yml Settings

  • spawn-limits - Maximum number of each mob type per world
  • ticks-per.autosave - How often to save worlds (6000 = 5 minutes)
  • connection-throttle - Minimum milliseconds between connections from same IP
  • warn-on-overload - Show warnings when server is running slowly

commands.yml

Configure command aliases and override vanilla permissions.
commands.yml

Creating Command Aliases

You can create shortcuts for commonly used commands:
commands.yml

Paper Configuration Files

Paper introduces its own configuration system with two main files in the config/ directory.

config/paper-global.yml

Global settings that apply to the entire server. This file contains extensive configuration options for performance, gameplay mechanics, and server behavior.
The paper-global.yml file is created on first run and contains detailed comments for each setting. The file includes the note:“This is the global configuration file for Paper. As you can see, there’s a lot to configure. Some options may impact gameplay, so use with caution, and make sure you know what each option does before configuring.”

config/paper-world-defaults.yml

Default world settings that can be overridden per-world. Individual worlds can have their own paper-world.yml file in the world directory.

Common Paper Settings

Some frequently configured Paper settings include:
Paper configuration files use a versioned format. Do not manually edit the version numbers or structure - let Paper handle migrations automatically.

help.yml

Customize help topics and documentation for your server.
help.yml

permissions.yml

Define custom permission nodes for use with commands and plugins.
permissions.yml

Configuration Best Practices

1

Backup before changing

Always backup configuration files before making significant changes:
2

Change one thing at a time

Modify one setting at a time and test the impact. This makes it easier to identify issues.
3

Read the comments

Paper configuration files include detailed comments explaining what each option does. Always read them before changing values.
4

Restart when needed

Most configuration changes require a server restart. Some Paper settings support live reloading, but restarting is safest:
5

Monitor performance

After changing performance settings, use /timings or Spark to monitor the impact.

Reloading Configuration

Some configuration files can be reloaded without restarting:
The /reload command can cause issues with some plugins and may lead to memory leaks. It’s recommended to restart your server instead of using reload when possible.

Per-World Configuration

Paper allows per-world configuration overrides. Create a paper-world.yml file in any world folder to override the defaults for that specific world:
Settings in these files override paper-world-defaults.yml for that specific world.

Command-Line Configuration

Many settings can be overridden via command-line arguments:

Available Options

  • --config <file> - Custom server.properties location
  • --bukkit-settings <file> - Custom bukkit.yml location
  • --spigot-settings <file> - Custom spigot.yml location
  • --paper-dir <directory> - Custom Paper config directory
  • --plugins <directory> - Custom plugins directory
  • --world-dir <directory> - Custom world container directory
  • --port <port> - Override server port
  • --world <name> - Override level-name

Getting Help

For detailed configuration documentation:
Each Paper configuration file includes a reference URL at the top pointing to detailed documentation for that specific file.