dragon0126
我开了一个Sponge神奇宝贝服务器
服务器人数40人 50人的时候就会跑出这个
  1. Can't keep up! Did the system time change, or is the server overloaded? Running 17865ms behind, skipping 357 tick(s)
复制代码
严重的化每10分钟大概会出现个5次


这是我的timings    https://timings.aikar.co/?id=1e7 ... b46b6f0c619#timings


服务器配备
CPU: 2x Intel Xeon
RAM: ECC RAM 32GB


JAVA Flag :
  1. -Xmx30G -Xms25G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=100 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1MaxNewSizePercent=60 -XX:G1NewSizePercent=35 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=50 -XX:+AggressiveOpts -XX:+AlwaysPreTouch -jar
复制代码
这是我的sponge配置
  1. # 1.0
  2. #
  3. # # If you need help with the configuration or have any questions related to Sponge,
  4. # # join us at the IRC or drop by our forums and leave a post.
  5. #
  6. # # IRC: #sponge @ irc.esper.net ( https://webchat.esper.net/?channel=sponge )
  7. # # Forums: https://forums.spongepowered.org/
  8. #

  9. sponge {
  10.     # Stopgap measures for dealing with broken mods
  11.     broken-mods {
  12.         # A list of mod ids that have broken network handlers (they interact with the game from a Netty handler thread).
  13.         # All network handlers from a forcibly scheduled to run on the main thread.
  14.         # Note that this setting should be considered a last resort, and should only be used as a stopgap measure while waiting for a mod to properly fix the issue.
  15.         broken-network-handler-mods=null
  16.     }
  17.     bungeecord {
  18.         # If 'true', allows BungeeCord to forward IP address, UUID, and Game Profile to this server.
  19.         ip-forwarding=false
  20.     }
  21.     cause-tracker {
  22.         # If set to 'true', when a mod or plugin attempts to spawn an entity
  23.         # off the main server thread, Sponge will automatically
  24.         # capture said entity to spawn it properly on the main
  25.         # server thread. The catch to this is that some mods are
  26.         # not considering the consequences of spawning an entity
  27.         # off the server thread, and are unaware of potential race
  28.         # conditions they may cause. If this is set to false,
  29.         # Sponge will politely ignore the entity being spawned,
  30.         # and emit a warning about said spawn anyways.
  31.         capture-async-spawning-entities=true
  32.         # If 'true', more thorough debugging for PhaseStates
  33.         # such that a StackTrace is created every time a PhaseState
  34.         # switches, allowing for more fine grained troubleshooting
  35.         # in the cases of runaway phase states. Note that this is
  36.         # not extremely performant and may have some associated costs
  37.         # with generating the stack traces constantly.
  38.         generate-stacktrace-per-phase=false
  39.         # The maximum number of times to recursively process transactions in a single phase.
  40.         # Some mods may interact badly with Sponge's block capturing system, causing Sponge to
  41.         # end up capturing block transactions every time it tries to process an existing batch.
  42.         # Due to the recursive nature of the depth-first processing that Sponge uses to handle block transactions,
  43.         # this can result in a stack overflow, which causes us to lose all infomration about the original cause of the issue.
  44.         # To prevent a stack overflow, Sponge tracks the current processing depth, and aborts processing when it exceeds
  45.         # this threshold.
  46.         # The default value should almost always work properly -  it's unlikely you'll ever have to change it.
  47.         max-block-processing-depth=100
  48.         # If verbose is not enabled, this restricts the amount of
  49.         # runaway phase state printouts, usually happens on a server
  50.         # where a PhaseState is not completing. Although rare, it should
  51.         # never happen, but when it does, sometimes it can continuously print
  52.         # more and more. This attempts to placate that while a fix can be worked on
  53.         # to resolve the runaway. If verbose is enabled, they will always print.
  54.         maximum-printed-runaway-counts=3
  55.         # If 'true', the phase tracker will print out when there are too many phases
  56.         # being entered, usually considered as an issue of phase re-entrance and
  57.         # indicates an unexpected issue of tracking phases not to complete.
  58.         # If this is not reported yet, please report to Sponge. If it has been
  59.         # reported, you may disable this.
  60.         verbose=true
  61.         # If 'true', the phase tracker will dump extra information about the current phases
  62.         # when certain non-PhaseTracker related exceptions occur. This is usually not necessary, as the information
  63.         # in the exception itself can normally be used to determine the cause of the issue
  64.         verbose-errors=false
  65.     }
  66.     commands {
  67.         # Command aliases will resolve conflicts when multiple plugins request a specific command,
  68.         # Correct syntax is <unqualified command>=<plugin name> e.g. "sethome=homeplugin"
  69.         aliases {
  70.             help=command-utils
  71.             info=nucleus
  72.         }
  73.         # Patches the specified commands to respect the world of the sender instead of applying the
  74.         # changes on the all worlds.
  75.         multi-world-patches {
  76.             defaultgamemode=true
  77.             difficulty=true
  78.             gamerule=true
  79.             seed=true
  80.             setdefaultspawnpoint=true
  81.             time=true
  82.             toggledownfall=true
  83.             weather=true
  84.             worldborder=true
  85.         }
  86.     }
  87.     debug {
  88.         # Detect and prevent parts of PlayerChunkMap being called off the main thread.
  89.         # This may decrease sever preformance, so you should only enable it when debugging a specific issue.
  90.         concurrent-chunk-map-checks=false
  91.         # Detect and prevent certain attempts to use entities concurrently.
  92.         # WARNING: May drastically decrease server performance. Only set this to 'true' to debug a pre-existing issue.
  93.         concurrent-entity-checks=false
  94.         # Dump chunks in the event of a deadlock
  95.         dump-chunks-on-deadlock=false
  96.         # Dump the heap in the event of a deadlock
  97.         dump-heap-on-deadlock=false
  98.         # Dump the server thread on deadlock warning
  99.         dump-threads-on-warn=false
  100.         # If 'true', Java's thread contention monitoring for thread dumps is enabled.
  101.         thread-contention-monitoring=false
  102.     }
  103.     entity {
  104.         # Number of colliding entities in one spot before logging a warning. Set to 0 to disable
  105.         collision-warn-size=200
  106.         # Number of entities in one dimension before logging a warning. Set to 0 to disable
  107.         count-warn-size=0
  108.         # Number of ticks before a painting is respawned on clients when their art is changed
  109.         entity-painting-respawn-delay=2
  110.         # Number of ticks before the fake player entry of a human is removed from the tab list (range of 0 to 100 ticks).
  111.         human-player-list-remove-delay=10
  112.         # Controls the time in ticks for when an item despawns.
  113.         item-despawn-rate=1200
  114.         # The upper bounded range where living entities farther from a player will likely despawn
  115.         living-hard-despawn-range=64
  116.         # The amount of seconds before a living entity between the soft and hard despawn ranges from a player to be considered for despawning
  117.         living-soft-despawn-minimum-life=30
  118.         # The lower bounded range where living entities near a player may potentially despawn
  119.         living-soft-despawn-range=32
  120.         # Maximum size of an entity's bounding box before removing it. Set to 0 to disable
  121.         max-bounding-box-size=1000
  122.         # Square of the maximum speed of an entity before removing it. Set to 0 to disable
  123.         max-speed=100
  124.     }
  125.     entity-activation-range {
  126.         # If 'true', newly discovered entities will be added to this config with a default value.
  127.         auto-populate=false
  128.         # Default activation ranges used for all entities unless overridden.
  129.         defaults {
  130.             ambient=8
  131.             aquatic=8
  132.             creature=8
  133.             misc=8
  134.             monster=8
  135.         }
  136.         # Per-mod overrides. Refer to the minecraft default mod for example.
  137.         mods {
  138.             minecraft {
  139.                 defaults {
  140.                     creature=8
  141.                     misc=8
  142.                     monster=8
  143.                 }
  144.                 # If 'false', entity activation rules for this mod will be ignored and always tick.
  145.                 enabled=true
  146.                 entities {
  147.                     "armor_stand"=8
  148.                     arrow=8
  149.                     blaze=8
  150.                     boat=8
  151.                     "cave_spider"=8
  152.                     "chest_minecart"=8
  153.                     chicken=8
  154.                     cow=8
  155.                     "elder_guardian"=8
  156.                     "eye_of_ender_signal"=8
  157.                     fishinghook=8
  158.                     "hopper_minecart"=8
  159.                     horse=8
  160.                     item=8
  161.                     "item_frame"=8
  162.                     llama=8
  163.                     minecart=8
  164.                     ocelot=8
  165.                     painting=8
  166.                     parrot=8
  167.                     pig=8
  168.                     "polar_bear"=8
  169.                     shulker=8
  170.                     silverfish=8
  171.                     snowman=8
  172.                     spider=8
  173.                     villager=8
  174.                     "villager_golem"=8
  175.                     witch=8
  176.                     wolf=8
  177.                     "xp_orb"=8
  178.                     "zombie_villager"=8
  179.                 }
  180.             }
  181.             pixelmon {
  182.                 defaults {
  183.                     creature=8
  184.                     misc=8
  185.                 }
  186.                 # If 'false', entity activation rules for this mod will be ignored and always tick.
  187.                 enabled=true
  188.                 entities {
  189.                     chattingnpc=8
  190.                     entitychairmount=8
  191.                     hook=8
  192.                     nursejoy=8
  193.                     pixelmon=10
  194.                     pixelmonpainting=8
  195.                     relearner=8
  196.                     shopkeeper=8
  197.                     statue=8
  198.                     trader=8
  199.                     trainer=8
  200.                     tutor=8
  201.                 }
  202.             }
  203.         }
  204.     }
  205.     entity-collisions {
  206.         # If 'true', newly discovered entities/blocks will be added to this config with a default value.
  207.         auto-populate=false
  208.         # Default maximum collisions used for all entities/blocks unless overridden.
  209.         defaults {
  210.             blocks=8
  211.             entities=8
  212.         }
  213.         # Maximum amount of entities any given entity or block can collide with. This improves
  214.         # performance when there are more than 8 entities on top of each other such as a 1x1
  215.         # spawn pen. Set to 0 to disable.
  216.         max-entities-within-aabb=8
  217.         # Per-mod overrides. Refer to the minecraft default mod for example.
  218.         mods {
  219.             botania {
  220.                 blocks {}
  221.                 # Default maximum collisions used for all entities/blocks unless overridden.
  222.                 defaults {}
  223.                 # If 'false', entity collision rules for this mod will be ignored.
  224.                 enabled=true
  225.                 entities {
  226.                     botaniacorporeaspark=-1
  227.                     botaniaspark=-1
  228.                 }
  229.             }
  230.             minecraft {
  231.                 blocks {
  232.                     "detector_rail"=1
  233.                     "heavy_weighted_pressure_plate"=150
  234.                     "light_weighted_pressure_plate"=15
  235.                     "mob_spawner"=-1
  236.                     "stone_pressure_plate"=1
  237.                     "wooden_button"=1
  238.                     "wooden_pressure_plate"=1
  239.                 }
  240.                 # Default maximum collisions used for all entities/blocks unless overridden.
  241.                 defaults {}
  242.                 # If 'false', entity collision rules for this mod will be ignored.
  243.                 enabled=true
  244.                 entities {
  245.                     thrownpotion=-1
  246.                 }
  247.             }
  248.         }
  249.     }
  250.     exploits {
  251.         # Enables filtering invalid entities when a chunk is being saved
  252.         # such that the entity that does not "belong" in the saving
  253.         # chunk will not be saved, and forced an update to the world's
  254.         # tracked entity lists for chunks.
  255.         # See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0311-Prevent-Saving-Bad-entities-to-chunks.patch
  256.         filter-invalid-entities-on-chunk-save=true
  257.         # Enables focing a chunk load when an entity position
  258.         # is set. Usually due to teleportation, vehicle movement
  259.         # etc. can a position lead an entity to no longer exist
  260.         # within it's currently marked and tracked chunk. This will
  261.         # enable that chunk for the position is loaded. Part of several
  262.         # exploits.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0335-Ensure-chunks-are-always-loaded-on-hard-position-set.patch
  263.         load-chunk-on-position-set=true
  264.         # Enables forcing chunks to save when an entity is added
  265.         # or removed from said chunk. This is a partial fix for
  266.         # some exploits using vehicles.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0306-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch
  267.         mark-chunks-as-dirty-on-entity-list-modification=true
  268.         # Prevents an exploit in which the client sends a packet with the
  269.         # itemstack name exceeding the string limit.
  270.         prevent-creative-itemstack-name-exploit=true
  271.         # Enables forcing updates to the player's location on vehicle movement.
  272.         # This is partially required to update the server's understanding of
  273.         # where the player exists, and allows chunk loading issues to be avoided
  274.         # with laggy connections and/or hack clients.See https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0378-Sync-Player-Position-to-Vehicles.patch
  275.         sync-player-positions-for-vehicle-movement=true
  276.         # Enables forcing a chunk-tracking refresh on entity movement.
  277.         # This enables a guarantee that the entity is tracked in the
  278.         # proper chunk when moving.https://github.com/PaperMC/Paper/blob/fd1bd5223a461b6d98280bb8f2d67280a30dd24a/Spigot-Server-Patches/0315-Always-process-chunk-registration-after-moving.patch
  279.         update-tracked-chunk-on-entity-move=true
  280.     }
  281.     general {
  282.         # The directory for Sponge plugin configurations, relative to the  
  283.         # execution root or specified as an absolute path.
  284.         # Note that the default: "${CANONICAL_GAME_DIR}/config"
  285.         # is going to use the "plugins" directory in the root game directory.
  286.         # If you wish for plugin configs to reside within a child of the configuration
  287.         # directory, change the value to, for example, "${CANONICAL_CONFIG_DIR}/sponge/plugins".
  288.         # Note: It is not recommended to set this to "${CANONICAL_CONFIG_DIR}/sponge", as there is
  289.         # a possibility that plugin configurations can conflict the Sponge core configurations.
  290.         #
  291.         config-dir="${CANONICAL_GAME_DIR}/config"
  292.         # Disable warning messages to server admins
  293.         disable-warnings=false
  294.         # If 'true', sleeping between chunk saves will be enabled, beware of memory issues.
  295.         file-io-thread-sleep=false
  296.         # Additional directory to search for plugins, relative to the
  297.         # execution root or specified as an absolute path.
  298.         # Note that the default: "${CANONICAL_MODS_DIR}/plugins"
  299.         # is going to search for a plugins folder in the mods directory.
  300.         # If you wish for the plugins folder to reside in the root game
  301.         # directory, change the value to "${CANONICAL_GAME_DIR}/plugins".
  302.         plugins-dir="${CANONICAL_MODS_DIR}/plugins"
  303.     }
  304.     ip-sets {}
  305.     logging {
  306.         # Log when blocks are broken
  307.         block-break=false
  308.         # Log when blocks are modified
  309.         block-modify=false
  310.         # Log when blocks are placed
  311.         block-place=false
  312.         # Log when blocks are populated in a chunk
  313.         block-populate=false
  314.         # Log when blocks are placed by players and tracked
  315.         block-tracking=false
  316.         # Log when chunks are queued to be unloaded by the chunk garbage collector.
  317.         chunk-gc-queue-unload=false
  318.         # Log when chunks are loaded
  319.         chunk-load=false
  320.         # Log when chunks are unloaded
  321.         chunk-unload=false
  322.         # Whether to log entity collision/count checks
  323.         entity-collision-checks=false
  324.         # Log when living entities are destroyed
  325.         entity-death=false
  326.         # Log when living entities are despawned
  327.         entity-despawn=false
  328.         # Log when living entities are spawned
  329.         entity-spawn=false
  330.         # Whether to log entity removals due to speed
  331.         entity-speed-removal=false
  332.         # Log when server receives exploited packet with itemstack name exceeding string limit.
  333.         exploit-itemstack-name-overflow=false
  334.         # Log when player attempts to respawn invisible to surrounding players.
  335.         exploit-respawn-invisibility=false
  336.         # Log when server receives exploited packet to update a sign containing commands from player with no permission.
  337.         exploit-sign-command-updates=false
  338.         # Add stack traces to dev logging
  339.         log-stacktraces=false
  340.         # Log when a world auto-saves its chunk data. Note: This may be spammy depending on the auto-save-interval configured for world.
  341.         world-auto-save=false
  342.     }
  343.     metrics {
  344.         # Determines whether plugins that are newly added are allowed to perform
  345.         # data/metric collection by default. Plugins detected by Sponge will be added to the "plugin-permissions" section with this value.
  346.         #
  347.         # Set to true to enable metric gathering by default, false otherwise.
  348.         default-permission=false
  349.         # Provides (or revokes) permission for metric gathering on a per plugin basis.
  350.         # Entries should be in the format "plugin-id=<true|false>".
  351.         #
  352.         # Deleting an entry from this list will reset it to the default specified in
  353.         # "default-permission"
  354.         plugin-permissions {
  355.             agp=false
  356.             blockcommand=false
  357.             byte-items=false
  358.             carrotshop=false
  359.             chatshow=false
  360.             command-utils=false
  361.             commandblockingmanager=false
  362.             commanditems=false
  363.             customspec=false
  364.             customtexturespec=false
  365.             daycare=false
  366.             economylite=false
  367.             entity-particles=false
  368.             fastasyncworldedit=false
  369.             gogyms=false
  370.             griefprevention=false
  371.             gts=false
  372.             "gwm_crates"=false
  373.             "gwm_library"=false
  374.             haxpokebank=false
  375.             holograms=false
  376.             impactor=false
  377.             inspector=false
  378.             kt-skript=false
  379.             luckperms=false
  380.             mmcprefix=false
  381.             mmcrestrict=false
  382.             modbanner=false
  383.             multicurrency=false
  384.             nucleus=false
  385.             nucleus-gluon=false
  386.             pixelautomessages=false
  387.             pixelgenocide=false
  388.             pixelmoneconomybridge=false
  389.             pixelmoney=false
  390.             placeholderapi=false
  391.             pokebuffs=false
  392.             pokecatchlog=false
  393.             poketextures=false
  394.             safetrade=false
  395.             serverlistplus=false
  396.             signeditor=false
  397.             spark=false
  398.             statues=false
  399.             statusprotocol=false
  400.             sts=false
  401.             tabblocker=false
  402.             tabmanager=false
  403.             teslacore=false
  404.             teslacrate=false
  405.             teslalibs=false
  406.             virtualchest=false
  407.             virtualtool=false
  408.             wondertrade=false
  409.             worldedit=false
  410.             xppokedex=false
  411.             zpixelmonplaceholders=false
  412.         }
  413.     }
  414.     modules {
  415.         # Enables experimental fixes for broken mods
  416.         broken-mod=false
  417.         bungeecord=false
  418.         entity-activation-range=true
  419.         entity-collisions=true
  420.         # Controls whether any exploit patches are applied.
  421.         # If there are issues with any specific exploits, please
  422.         # test in the exploit category first, before disabling all
  423.         # exploits with this toggle.
  424.         exploits=true
  425.         # Allows configuring Vanilla movement and speed checks
  426.         movement-checks=false
  427.         optimizations=true
  428.         # Use real (wall) time instead of ticks as much as possible
  429.         realtime=true
  430.         # Controls block range and tick rate of tileentities.
  431.         # Use with caution as this can break intended functionality.
  432.         tileentity-activation=true
  433.         timings=true
  434.         tracking=true
  435.     }
  436.     movement-checks {
  437.         # Controls whether the 'player/entity moved wrongly!' check will be enforced
  438.         moved-wrongly=false
  439.         # Controls whether the 'player moved too quickly!' check will be enforced
  440.         player-moved-too-quickly=false
  441.         # Controls whether the 'vehicle of player moved too quickly!' check will be enforced
  442.         player-vehicle-moved-too-quickly=false
  443.     }
  444.     optimizations {
  445.         # Runs lighting updates asynchronously.
  446.         async-lighting {
  447.             # If 'true', lighting updates are run asynchronously.
  448.             enabled=true
  449.             # The amount of threads to dedicate for asynchronous lighting updates. (Default: 2)
  450.             num-threads=2
  451.         }
  452.         # Caches tameable entities owners to avoid constant lookups against data watchers. If mods
  453.         # cause issues, disable this.
  454.         cache-tameable-owners=true
  455.         # If 'true', block item drops are pre-processed to avoid
  456.         # having to spawn extra entities that will be merged post spawning.
  457.         # Usually, Sponge is smart enough to determine when to attempt an item pre-merge
  458.         # and when not to, however, in certain cases, some mods rely on items not being
  459.         # pre-merged and actually spawned, in which case, the items will flow right through
  460.         # without being merged.
  461.         drops-pre-merge=false
  462.         # If 'true', provides a fix for possible leaks through
  463.         # Minecraft's enchantment helper code that can leak
  464.         # entity and world references without much interaction
  465.         # Forge native (so when running SpongeForge implementation)
  466.         # has a similar patch, but Sponge's patch works a little harder
  467.         # at it, but Vanilla (SpongeVanilla implementation) does NOT
  468.         # have any of the patch, leading to the recommendation that this
  469.         # patch is enabled "for sure" when using SpongeVanilla implementation.
  470.         # See https://bugs.mojang.com/browse/MC-128547 for more information.
  471.         #
  472.         enchantment-helper-leak-fix=true
  473.         # If 'true', allows for Sponge to make better assumptinos on single threaded
  474.         # operations with relation to various checks for server threaded operations.
  475.         # This is default to true due to Sponge being able to precisely inject when
  476.         # the server thread is available. This should make an already fast operation
  477.         # much faster for better thread checks to ensure stability of sponge's systems.
  478.         faster-thread-checks=true
  479.         # If 'true', re-writes the incredibly inefficient Vanilla Map code.
  480.         # This yields enormous performance enhancements when using many maps, but has a tiny chance of breaking mods that invasively modify Vanilla.It is strongly reccomended to keep this on, unless explicitly advised otherwise by a Sponge developer
  481.         map-optimization=true
  482.         # If 'true', uses Panda4494's redstone implementation which improves performance.
  483.         # See https://bugs.mojang.com/browse/MC-11193 for more information.
  484.         # Note: This optimization has a few issues which are explained in the bug report.
  485.         panda-redstone=true
  486.         # Handles structures that are saved to disk. Certain structures can take up large amounts
  487.         # of disk space for very large maps and the data for these structures is only needed while the
  488.         # world around them is generating. Disabling saving of these structures can save disk space and
  489.         # time during saves if your world is already fully generated.
  490.         # Warning: disabling structure saving will break the vanilla locate command.
  491.         structure-saving {
  492.             # If 'true', newly discovered structures will be added to this config with a default value.
  493.             auto-populate=false
  494.             enabled=false
  495.             # Per-mod overrides. Refer to the minecraft default mod for example.
  496.             mods {
  497.                 minecraft {
  498.                     # If 'false', this mod will never save its structures.
  499.                     enabled=true
  500.                     structures {
  501.                         mineshaft=false
  502.                     }
  503.                 }
  504.             }
  505.         }
  506.     }
  507.     player-block-tracker {
  508.         # Block IDs that will be blacklisted for player block placement tracking.
  509.         block-blacklist=null
  510.         # If 'true', adds player tracking support for block positions.
  511.         # Note: This should only be disabled if you do not care who caused a block to change.
  512.         enabled=true
  513.     }
  514.     # Used to control spawn limits around players.
  515.     # Note: The radius uses the lower value of mob spawn range and server's view distance.
  516.     spawner {
  517.         # The number of ambients the spawner can potentially spawn around a player.
  518.         spawn-limit-ambient=15
  519.         # The number of animals the spawner can potentially spawn around a player.
  520.         spawn-limit-animal=15
  521.         # The number of aquatics the spawner can potentially spawn around a player.
  522.         spawn-limit-aquatic=5
  523.         # The number of monsters the spawner can potentially spawn around a player.
  524.         spawn-limit-monster=70
  525.         # The ambient spawning tick rate. Default: 400
  526.         tick-rate-ambient=400
  527.         # The animal spawning tick rate. Default: 400
  528.         tick-rate-animal=400
  529.         # The aquatic spawning tick rate. Default: 400
  530.         tick-rate-aquatic=400
  531.         # The monster spawning tick rate. Default: 1
  532.         tick-rate-monster=1
  533.     }
  534.     # Configuration options related to the Sql service, including connection aliases etc
  535.     sql {
  536.         # Aliases for SQL connections, in the format jdbc:protocol://[username[:password]@]host/database
  537.         aliases {}
  538.     }
  539.     # Blocks to blacklist for safe teleportation.
  540.     teleport-helper {
  541.         # If 'true', this blacklist will always be respected, otherwise, plugins can choose whether
  542.         # or not to respect it.
  543.         force-blacklist=false
  544.         # Block IDs that are listed here will not be selected by Sponge's safe teleport routine as
  545.         # a safe block for players to warp into.
  546.         # You should only list blocks here that are incorrectly selected, solid blocks that prevent
  547.         # movement are automatically excluded.
  548.         unsafe-body-block-ids=null
  549.         # Block IDs that are listed here will not be selected by Sponge's safe
  550.         # teleport routine as a safe floor block.
  551.         unsafe-floor-block-ids=null
  552.     }
  553.     tileentity-activation {
  554.         # If 'true', newly discovered tileentities will be added to this config with default settings.
  555.         auto-populate=true
  556.         # Default activation block range used for all tileentities unless overridden.
  557.         default-block-range=32
  558.         # Default tick rate used for all tileentities unless overridden.
  559.         default-tick-rate=1
  560.         # Per-mod overrides. Refer to the minecraft default mod for example.
  561.         mods {
  562.             ironchest {
  563.                 block-range {
  564.                     "ironchest.crystal"=8
  565.                     "ironchest.diamond"=8
  566.                     "ironchest.dirtchest9000"=8
  567.                     "ironchest.gold"=8
  568.                     "ironchest.iron"=8
  569.                     "ironchest.obsidian"=8
  570.                     "ironchest.silver"=8
  571.                     "ironshulkerbox.crystal"=8
  572.                     "ironshulkerbox.diamond"=8
  573.                     "ironshulkerbox.gold"=8
  574.                     "ironshulkerbox.iron"=8
  575.                     "ironshulkerbox.obsidian"=8
  576.                 }
  577.                 # If 'false', tileentity activation rules for this mod will be ignored and always tick.
  578.                 enabled=true
  579.                 tick-rate {
  580.                     "ironchest.crystal"=1
  581.                     "ironchest.diamond"=1
  582.                     "ironchest.dirtchest9000"=1
  583.                     "ironchest.gold"=1
  584.                     "ironchest.iron"=1
  585.                     "ironchest.obsidian"=1
  586.                     "ironchest.silver"=1
  587.                     "ironshulkerbox.crystal"=1
  588.                     "ironshulkerbox.diamond"=1
  589.                     "ironshulkerbox.gold"=1
  590.                     "ironshulkerbox.iron"=1
  591.                     "ironshulkerbox.obsidian"=1
  592.                 }
  593.             }
  594.             minecraft {
  595.                 block-range {
  596.                     beacon=16
  597.                     "brewing_stand"=8
  598.                     chest=8
  599.                     "daylight_detector"=8
  600.                     "enchanting_table"=8
  601.                     "end_gateway"=8
  602.                     "ender_chest"=8
  603.                     furnace=8
  604.                     hopper=8
  605.                     "mob_spawner"=8
  606.                     piston=8
  607.                     "shulker_box"=8
  608.                     skull=8
  609.                 }
  610.                 # If 'false', tileentity activation rules for this mod will be ignored and always tick.
  611.                 enabled=true
  612.                 tick-rate {
  613.                     beacon=1
  614.                     "brewing_stand"=1
  615.                     chest=1
  616.                     "daylight_detector"=1
  617.                     "enchanting_table"=1
  618.                     "end_gateway"=1
  619.                     "ender_chest"=1
  620.                     furnace=1
  621.                     hopper=1
  622.                     "mob_spawner"=1
  623.                     piston=1
  624.                     "shulker_box"=1
  625.                     skull=1
  626.                 }
  627.             }
  628.             morefurnaces {
  629.                 block-range {
  630.                     "cubex2 diamond furnace"=20
  631.                     "cubex2 gold furnace"=20
  632.                     "cubex2 iron furnace"=20
  633.                     "cubex2 netherrack furnace"=20
  634.                     "cubex2 obsidian furnace"=20
  635.                 }
  636.                 # If 'false', tileentity activation rules for this mod will be ignored and always tick.
  637.                 enabled=true
  638.                 tick-rate {
  639.                     "cubex2 diamond furnace"=1
  640.                     "cubex2 gold furnace"=1
  641.                     "cubex2 iron furnace"=1
  642.                     "cubex2 netherrack furnace"=1
  643.                     "cubex2 obsidian furnace"=1
  644.                 }
  645.             }
  646.             pixelmon {
  647.                 block-range {
  648.                     "pixelmon:bell"=8
  649.                     "pixelmon:berry_tree"=8
  650.                     "pixelmon:cloning_machine"=8
  651.                     "pixelmon:evolution_rock"=8
  652.                     "pixelmon:fossil_cleaner"=8
  653.                     "pixelmon:fossil_machine"=8
  654.                     "pixelmon:gracidea"=8
  655.                     "pixelmon:healer"=8
  656.                     "pixelmon:mechanical_anvil"=8
  657.                     "pixelmon:pixelmon_spawner"=8
  658.                     "pixelmon:plate_holder"=8
  659.                     "pixelmon:ranch_block"=8
  660.                     "pixelmon:timespace_shrine"=8
  661.                     "pixelmon:trade_machine"=8
  662.                 }
  663.                 # If 'false', tileentity activation rules for this mod will be ignored and always tick.
  664.                 enabled=true
  665.                 tick-rate {
  666.                     "pixelmon:bell"=1
  667.                     "pixelmon:berry_tree"=1
  668.                     "pixelmon:cloning_machine"=1
  669.                     "pixelmon:evolution_rock"=1
  670.                     "pixelmon:fossil_cleaner"=1
  671.                     "pixelmon:fossil_machine"=1
  672.                     "pixelmon:gracidea"=1
  673.                     "pixelmon:healer"=1
  674.                     "pixelmon:mechanical_anvil"=1
  675.                     "pixelmon:pixelmon_spawner"=1
  676.                     "pixelmon:plate_holder"=1
  677.                     "pixelmon:ranch_block"=1
  678.                     "pixelmon:timespace_shrine"=1
  679.                     "pixelmon:trade_machine"=1
  680.                 }
  681.             }
  682.             sereneseasons {
  683.                 block-range {
  684.                     "season_sensor"=8
  685.                 }
  686.                 # If 'false', tileentity activation rules for this mod will be ignored and always tick.
  687.                 enabled=true
  688.                 tick-rate {
  689.                     "season_sensor"=1
  690.                 }
  691.             }
  692.         }
  693.     }
  694.     timings {
  695.         enabled=true
  696.         hidden-config-entries=[
  697.             "sponge.sql"
  698.         ]
  699.         history-interval=2000
  700.         history-length=18000
  701.         server-name-privacy=false
  702.         verbose=true
  703.     }
  704.     world {
  705.         # The auto-save tick interval used when saving global player data. (Default: 900)
  706.         # Note: 20 ticks is equivalent to 1 second. Set to 0 to disable.
  707.         auto-player-save-interval=900
  708.         # The auto-save tick interval used to save all loaded chunks in a world.
  709.         # Set to 0 to disable. (Default: 900)
  710.         # Note: 20 ticks is equivalent to 1 second.
  711.         auto-save-interval=900
  712.         # The number of newly loaded chunks before triggering a forced cleanup.
  713.         # Note: When triggered, the loaded chunk threshold will reset and start incrementing.
  714.         # Disabled by default.
  715.         chunk-gc-load-threshold=3000
  716.         # The tick interval used to cleanup all inactive chunks that have leaked in a world.
  717.         # Set to 0 to disable which restores vanilla handling. (Default: 600)
  718.         chunk-gc-tick-interval=900
  719.         # The number of seconds to delay a chunk unload once marked inactive. (Default: 15)
  720.         # Note: This gets reset if the chunk becomes active again.
  721.         chunk-unload-delay=100
  722.         # If 'true', any request for a chunk not currently loaded will be denied (exceptions apply
  723.         # for things like world gen and player movement).
  724.         # Warning: As this is an experimental setting for performance gain, if you encounter any issues
  725.         # then we recommend disabling it.
  726.         deny-chunk-requests=false
  727.         # Lava behaves like vanilla water when source block is removed
  728.         flowing-lava-decay=false
  729.         # The amount of GameProfile requests to make against Mojang's session server. (Default: 1)
  730.         # Note: Mojang accepts a maximum of 600 requests every 10 minutes from a single IP address.
  731.         # If you are running multiple servers behind the same IP, it is recommended to raise the 'gameprofile-task-interval' setting  
  732.         # in order to compensate for the amount requests being sent.
  733.         # Finally, if set to 0 or less, the default batch size will be used.
  734.         # For more information visit http://wiki.vg/Mojang_API
  735.         gameprofile-lookup-batch-size=1
  736.         # The interval, in seconds, used by the GameProfileQueryTask to process queued GameProfile requests. (Default: 4)
  737.         # Note: This setting should be raised if you experience the following error:
  738.         # "The client has sent too many requests within a certain amount of time".
  739.         # Finally, if set to 0 or less, the default interval will be used.
  740.         gameprofile-lookup-task-interval=4
  741.         # If 'true', this world will generate its spawn the moment its loaded.
  742.         generate-spawn-on-load=false
  743.         # Vanilla water source behavior - is infinite
  744.         infinite-water-source=false
  745.         # The list of uuid's that should never perform a lookup against Mojang's session server.
  746.         # Note: If you are using SpongeForge, make sure to enter any mod fake player's UUID to this list.
  747.         invalid-lookup-uuids=[
  748.             "00000000-0000-0000-0000-000000000000",
  749.             "0d0c4ca0-4ff1-11e4-916c-0800200c9a66",
  750.             "41c82c87-7afb-4024-ba57-13d2c99cae77"
  751.         ]
  752.         # The defined merge radius for Item entities such that when two items are
  753.         # within the defined radius of each other, they will attempt to merge. Usually,
  754.         # the default radius is set to 0.5 in Vanilla, however, for performance reasons
  755.         # 2.5 is generally acceptable.
  756.         # Note: Increasing the radius higher will likely cause performance degradation
  757.         # with larger amount of items as they attempt to merge and search nearby
  758.         # areas for more items. Setting to a negative value is not supported!
  759.         item-merge-radius=2.5
  760.         # If 'true', this worlds spawn will remain loaded with no players.
  761.         keep-spawn-loaded=true
  762.         # If 'true', natural leaf decay is allowed.
  763.         leaf-decay=true
  764.         # If 'true', this world will load on startup.
  765.         load-on-startup=true
  766.         # The maximum number of queued unloaded chunks that will be unloaded in a single tick.
  767.         # Note: With the chunk gc enabled, this setting only applies to the ticks
  768.         # where the gc runs (controlled by 'chunk-gc-tick-interval')
  769.         # Note: If the maximum unloads is too low, too many chunks may remain
  770.         # loaded on the world and increases the chance for a drop in tps. (Default: 100)
  771.         max-chunk-unloads-per-tick=100
  772.         # Specifies the radius (in chunks) of where creatures will spawn.
  773.         # This value is capped to the current view distance setting in server.properties
  774.         mob-spawn-range=4
  775.         # A list of all detected portal agents used in this world.
  776.         # In order to override, change the target world name to any other valid world.
  777.         # Note: If world is not found, it will fallback to default.
  778.         portal-agents {
  779.             "minecraft:default_the_end"=DIM1
  780.             "minecraft:default_the_nether"=DIM-1
  781.         }
  782.         # If 'true', this world will allow PVP combat.
  783.         pvp-enabled=true
  784.         # Override world distance per world/dimension
  785.         # The value must be greater than or equal to 3 and less than or equal to 32
  786.         # The server-wide view distance will be used when the value is -1.
  787.         view-distance=-1
  788.         # If 'true', natural formation of ice and snow in supported biomes will be allowed.
  789.         weather-ice-and-snow=true
  790.         # If 'true', thunderstorms will be initiated in supported biomes.
  791.         weather-thunder=true
  792.         # If 'true', this world will be registered.
  793.         world-enabled=true
  794.     }
  795. }
复制代码
我已经询问过很多人,始终无法解决,希望有高手能指点


冻土
我以前也遇到了这个问题,这个问题似乎真的是无解的,因为即使sponge端有一定的多线程优化,还是无法充分利用整个服务器的性能
因为服务端会有一个主线程负责实体、红石、方块等重要事件的计算,而从安全的角度考虑,难以对此进行多核优化,甚至有可能优化之后还不如单线程。因此sponge端对单核性能的要求仍然是非常非常高的。
我遇到这个问题的时候提高了服务器的配置,对服务端文件作出了一定的优化,再有就是更新forge和sponge内核的版本,都有了一定的效果。
不过跑图仍然是一个非常卡的行为,我现在还在寻找解决的手段。
另外,比较好奇楼主的CPU具体型号是什么?

dragon0126
本帖最后由 dragon0126 于 2018-10-23 23:14 编辑

服务商只有公布规格没提供型号给我 ,规格是2x Intel Xeon 型号我就不知道了

冻土
dragon0126 发表于 2018-10-23 23:13
服务商只有公布规格没提供型号给我 ,规格是2x Intel Xeon 型号我就不知道了

服务商只提供了2x Intel xeon这点信息, 应该并不是什么好机器。我看了看timings报告,里面有一行“cpu:24”,那就是说这是24个线程,也就是十二个核心。再考虑到是两颗CPU,而且服务商并不希望你知道具体型号,那很可能就是x5600系列CPU,或者是E5-2620/E5-2620V2。
x5600系列CPU已经是接近十年前的产品,性能已经非常落后,尤其是Minecraft服务端最需要的单线程性能严重不足。拿这种处理器来开服,肯定是无法承载太多玩家的。如果再有玩家跑图,会导致卡顿更加严重。E5V1和V2的单核性能也是比较低下的,虽然会比x5600稍高一点,但是本身主频也低,无济于事。这种服务器哪怕核再多内存再大,也是diao用没有的
这种情况,有可能是被无良服务商坑了,因为这种服务器是相当廉价的,而性能也是和价格一样低……
因为我没了解过神奇宝贝服务器,所以也没法从服务端配置文件的角度提多少建议了。
换服务商是个可行的方案,但是价格也是个问题。我自己做过很多测试,同样的服务端在老机器上和在新机器上的表现大不相同,CPU占用率甚至可能相差几倍之多。这方面我也没彻底研究明白,就不说太多了,怕误导别人。
另外提醒一下,自己回复自己的帖子会有手动置顶的嫌疑,被举报的话可能会被禁言的。

dragon0126
冻土 发表于 2018-10-23 23:37
服务商只提供了2x Intel xeon这点信息, 应该并不是什么好机器。我看了看timings报告,里面有一行“cpu:2 ...

我改用别的服务器了, 虽然没有那么频繁, TPS却降低了, 我找了几个玩家来帮我测试, 这是我的timings : https://timings.aikar.co/?id=f49a4db4884d4ad0932bf33e5e5cbd8e

服务器规格: CPU: Intel Xeon CPU E3-1245 v5 3.50GHz
RAM: 30GB
系统: windows server 2016

sponge 配置跟 Java Flag 都不变


StMan_
区块加载延迟,无解

莫斯图迪
dragon0126 发表于 2018-10-25 22:31
我改用别的服务器了, 虽然没有那么频繁, TPS却降低了, 我找了几个玩家来帮我测试, 这是我的timings : http ...

醒醒吧
我开bukkit的,去spone后硬生生被卡**ukkit了
个人认为并不是sponge卡
就算是原版,跑跑图也掉tps

冻土
dragon0126 发表于 2018-10-25 22:31
我改用别的服务器了, 虽然没有那么频繁, TPS却降低了, 我找了几个玩家来帮我测试, 这是我的timings : http ...

感觉是跑图卡顿的可能性大一些,不妨试试这个:
http://www.mcbbs.net/thread-725682-1-1.html
用这个插件设定边界,并预加载边界内的地图,可以有效减少跑图卡顿。记得要安装projectcore作为前置

第一页 上一页 下一页 最后一页