Kinerja tweaks

Peringatan

These docs were written for SpongeAPI 7 and are likely out of date. If you feel like you can help update them, please submit a PR!

Sponge menyediakan beberapa opsi peningkatan kinerja dan tweaker untuk membantu Anda menjalankan server bebas lag, bahkan di bawah beban berat.

Catatan

Sementara kami mencoba memperbaiki kinerja setiap server, peningkatan kinerja bergantung pada penyiapan Anda. Silakan jalankan beberapa tes untuk memastikan Anda mengkonfigurasi server Sponge Anda untuk mendapatkan hasil maksimal dari itu!

Rentang Aktivasi Entitas

This setting will alter the loading behavior of entities around players. Lowering the value will only load close entities, while raising it will also load entities that are far away from the player. Lower this to improve your server's performance, especially with high entity and player counts. To disable activation range for a specific entity set its value to 0.

Tip

Mungkin untuk menentukan rentang aktivasi * per mob *. Anda dapat mengatur `` auto-populate`` ke `` true`` dan Sponge kemudian akan menambahkan semua massa yang tersedia ke daftar rentang aktivasi, disarankan untuk menonaktifkannya setelah daftar terisi. Jika Anda menambahkan gerombolan baru ke permainan, ulangi prosedurnya dan gerombolan baru tersebut juga akan ditambahkan ke daftar di bawah ini.

entity-activation-range {
    # If enabled, newly discovered entities will be added to this config with a default value.
    auto-populate=false
    # Default activation ranges used for all entities unless overridden.
    defaults {
        ambient=32
        aquatic=32
        creature=32
        misc=16
        monster=32
    }
}

Async Lighting

Pengaturan ini akan menjalankan pemeriksaan pencahayaan pada thread terpisah untuk meningkatkan kinerja.

optimizations {
    # Runs lighting updates async.
    async-lighting {
        # If enabled, runs lighting updates async.
        enabled=true
        # The amount of threads to dedicate for async lighting updates. (Default: 2)
        num-threads=2
    }
}

Pemilik Cache Tameable

Pengaturan ini akan menyimpan entitas UU pemilik berkas yang bisa disetel untuk menyelamatkan pencarian konstan dari pengamat data.

optimizations {
    # Caches tameable entities owners to avoid constant lookups against data watchers. If mods cause issue, disable.
    cache-tameable-owners=true
}

Turunkan Ganda Pra

Pengaturan ini akan melakukan pra-proses dan berpotensi menggabungkan tetes barang untuk menghindari pemijahan entitas ekstra yang kemudian digabung pasca pemijahan.

optimizations {
    # If enabled, block item drops are pre-processed to avoid
    # having to spawn extra entities that will be merged post spawning.
    # Usually, Sponge is smart enough to determine when to attempt an item pre-merge
    # and when not to, however, in certain cases, some mods rely on items not being
    # pre-merged and actually spawned, in which case, the items will flow right through
    # without being merged.
    drops-pre-merge=true
}

Panda Redstone

Algoritma pembaruan Redstone alternatif, menyebabkan pembaruan blok kurang saat Redstone berubah.

optimizations {
    # If enabled, uses Panda4494's Redstone implementation which improves performance.
    # See https://bugs.mojang.com/browse/MC-11193 for more information.
    # Note: This optimization has a few issues which is explained in the bug report. We are not responsible for any issues this may cause.
    panda-redstone=false
}

Penyesuaian Interval Penghematan Otomatis

Vanilla Minecraft default untuk menyimpan semua potongan setiap 900 kutu (45 detik). Jika Anda ingin menaikkan atau menurunkan interval ini, maka ubahlah itu di file server `` global.conf``:

world {
    # The auto-save tick interval used when saving global player data.
    # Set to 0 to disable. (Default: 900) Note: 20 ticks is equivalent to 1 second.
    auto-player-save-interval=900

    # The auto-save tick interval used to save all loaded chunks in a world.
    # Set to 0 to disable. (Default: 900) Note: 20 ticks is equivalent to 1 second.
    auto-save-interval=900
}

Mengurangi interval ini meningkatkan beban pada CPU dan penyimpanan server Anda, namun mengurangi kehilangan data yang mungkin terjadi jika server terkunci atau tidak berfungsi. Sebaliknya, meningkatkan interval auto-save mengurangi beban pada perangkat keras, namun dengan mengorbankan peningkatan jumlah kemajuan dalam game yang dapat hilang jika terjadi kegagalan server.

langsung

Mengaktifkan ini hanya akan meningkatkan pengalaman pemain Anda saat tingkat rendah, namun tidak akan meningkatkan kinerja. Serangkaian entitas terbatas, entitas ubin, dan waktu dunia akan menggunakan waktu nyata dan bukan kutu untuk memperbarui

modules {
    # Use real (wall) time instead of ticks as much as possible
    realtime=false
}

Salah satu contohnya adalah hewan bayi. Biasanya, mereka membutuhkan 20 menit untuk tumbuh menjadi dewasa. Namun, jika server tertinggal, masing-masing hewan akan menerima lebih sedikit kutu sehingga meningkatkan waktu yang mereka ambil untuk tumbuh dewasa. Pengaturan ini memperbarui beberapa logika mereka untuk menggunakan jam dinding jam sebenarnya, bukan jumlah kutu. Ini juga akan berlaku untuk memblokir pemecah, jadi tidak ada lagi "blok melanggar beberapa kali".

Deny chunk requests

Peringatan

This is an experimental setting for performance gain, we recommend to not enable it when you have mods on the server and to disable it if you experience any issues regarding the loading of tileentities.

world {
    # If enabled, any request for a chunk not currently loaded will be denied (exceptions apply for things like world gen and player movement).
    # Note: As this is an experimental setting for performance gain, if you encounter any issues then we recommend disabling it.
    deny-chunk-requests=false
}

When this option is enabled, mods requesting areas to be loaded to perform various tasks will be denied. Only players and specific world generation calls will be allowed to load new chunks.