TPSOptimizaciónPaper6 min de lectura

Optimizar el TPS de tu servidor

Ajustes en Paper, view-distance y entidades para mantener 20 TPS estables.


¿Qué es el TPS?

TPS (Ticks Per Second) mide el rendimiento del servidor. El ideal es 20 TPS. Si baja de 18, los jugadores notan lag.

bash
# Ver TPS actual desde la consola
tps

Resultado ejemplo: TPS from last 1m, 5m, 15m: 20.0, 19.8, 19.5

Paso 1: Reducir view-distance

El mayor impacto en rendimiento. En server.properties:

properties
view-distance=7
simulation-distance=5
  • view-distance: Chunks que el jugador puede ver
  • simulation-distance: Chunks donde se procesan entidades y redstone

Paso 2: Optimizar paper-world-defaults.yml

yaml
chunks:
  max-auto-save-chunks-per-tick: 8
  prevent-moving-into-unloaded-chunks: true
  delay-chunk-unloads-by: 10s

entities:
  armor-stands:
    tick: false
  spawning:
    despawn-ranges:
      monster:
        soft: 28
        hard: 80
      creature:
        soft: 28
        hard: 80
    per-player-mob-spawns: true

environment:
  optimize-explosions: true
  treasure-maps:
    enabled: false

misc:
  redstone-implementation: ALTERNATE_CURRENT

Paso 3: Limitar entidades en spigot.yml

yaml
world-settings:
  default:
    entity-activation-range:
      animals: 16
      monsters: 24
      raiders: 48
      misc: 8
      water: 8
      tick-inactive-villagers: false
    merge-radius:
      item: 4.0
      exp: 6.0

Paso 4: Limitar mob spawning en bukkit.yml

yaml
spawn-limits:
  monsters: 40
  animals: 8
  water-animals: 3
  water-ambient: 3
  water-underground-creature: 3
  axolotls: 3
  ambient: 1

tick-per:
  animal-spawns: 400
  monster-spawns: 4
  water-spawns: 400
  ambient-spawns: 400

Paso 5: Flags de JVM optimizadas

Usá las Aikar's Flags en la configuración de inicio:

bash
java -Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar paper.jar --nogui

Paso 6: Identificar la causa del lag

Instalá el plugin Spark para profiling:

bash
spark profiler start
# Esperá 2-3 minutos
spark profiler stop

Spark genera un reporte web que muestra exactamente qué consume más recursos.

Tabla de referencia

JugadoresRAMview-distancesimulation-distance
1-104 GB108
10-306 GB75
30-508 GB64
50+12 GB+54

Tip

Si después de optimizar seguís con lag, puede que necesites un plan con más RAM o CPU. Contactá a soporte de Baires Host para evaluar un upgrade.


¿Te resultó útil esta guía?