Gamerule komutları, bir Minecraft dünyasının kurallarını komut satırından değiştirmenizi sağlar: ölünce eşya düşsün mü, gece geçsin mi, creeper ev patlatsın mı, ekinler ne hızda büyüsün. server.properties gibi yeniden başlatma istemez; /gamerule yazıp Enter’a bastığınız anda kural yürürlüğe girer ve dünyaya kalıcı olarak kaydedilir.
Bu sayfada gamerule nasıl kullanılır sorusunun cevabını, en çok kullanılan kuralların tam anlamlarını ve 26.2 için güncel tam listeyi bulacaksınız. Ama önce şunu okuyun, yoksa yazdığınız komutların yarısı çalışmaz.
keepInventory değil keep_inventory, doDaylightCycle değil advance_time yazılıyor. Eski adlar geriye dönük uyumluluk için bazı yapılarda hâlâ çözülebiliyor, ama kullanımdan kaldırılmış sayın ve yeni adlara geçin./gamerule nasıl çalışır?#
Söz dizimi iki biçimde kullanılır:
/gamerule <kural> mevcut degeri okur
/gamerule <kural> <deger> degeri degistirir
Değer iki tipten biridir. Mantıksal (boolean) kurallar yalnızca true veya false alır. Sayısal (integer) kurallar tam sayı alır; random_tick_speed, max_entity_cramming ve players_sleeping_percentage bu gruptadır.
/gamerule keep_inventory
> Gamerule keep_inventory is currently set to: false
/gamerule keep_inventory true
> Gamerule keep_inventory is now set to: true
/gamerule random_tick_speed 3
/gamerule players_sleeping_percentage 40
Birkaç kullanım detayı işinizi kolaylaştırır:
- Komut yetki seviyesi 2 ister. Yani OP olmayan oyuncular çalıştıramaz; kimlerin çalıştırabileceğini OP ve yetki yönetimi sayfasındaki yaklaşımla ayarlayın.
- Sunucu konsolunda komutlar eğik çizgisiz yazılır:
gamerule keep_inventory true. - Kanonik ad aslında
minecraft:keep_inventorybiçiminde bir kaynak konumudur;minecraft:öneki isteğe bağlıdır. - Sürümünüzün kabul ettiği tam listeyi görmek için oyun içinde
/gameruleyazıp Tab tuşuna basın. Bu, herhangi bir listeden daha güvenilirdir.
En çok kullanılan gamerule’ler#
keep_inventory (eski adı keepInventory)#
Varsayılan false. true yaptığınızda oyuncu öldüğünde envanteri ve tecrübe puanı korunur, hiçbir şey yere düşmez. Muhtemelen en çok aranan gamerule budur.
Sunucu tarafında iki yüzü var. Yeni oyuncu kaybını azaltır, “ekipmanımı lav yuttu” şikâyetlerini bitirir. Buna karşılık ölümün bedeli kalmadığı için oyuncular Nether’a zırhsız dalar, riskli davranış artar ve ekonomi hızla şişer. Hayatta kalma sunucularında yaygın orta yol, ana dünyada kapalı tutup yalnızca etkinlik dünyasında açmaktır.
advance_time (eski adı doDaylightCycle)#
Gündüz-gece döngüsünü kontrol eder. false yaptığınızda saat olduğu yerde donar. Sürekli gündüz bir sunucu istiyorsanız önce saati ayarlayıp sonra döngüyü kapatmanız gerekir:
/time set day
/gamerule advance_time false
Bunu yapan sunucularda düşman mob doğumu yüzey seviyesinde büyük ölçüde durur — inşa sunucuları için ideal, hayatta kalma sunucuları için oyunu yavanlaştıran bir tercih.
advance_weather (eski adı doWeatherCycle)#
Hava değişimini durdurur. Yağmuru kalıcı olarak kapatmak isteyenlerin en çok yaptığı hata, önce havayı temizlemeden döngüyü kapatmak: o an yağmur varsa sonsuza kadar yağmur altında kalırsınız.
/weather clear
/gamerule advance_weather false
mob_griefing (eski adı mobGriefing)#
Mobların dünyayı değiştirmesini kontrol eder. false yaptığınızda creeper patlaması blok kırmaz, enderman blok taşımaz, zombi kapı kırmaz, koyun ot yemez, wither patlarken bir şey yıkmaz.
Grief şikâyetlerinde ilk akla gelen çözüm olsa da bedeli var: demir golem çiftlikleri, köylü tarım düzenekleri ve enderman’a dayalı bazı otomatik sistemler durur. Bölgesel koruma istiyorsanız WorldGuard ile bölge koruma daha isabetli bir araçtır; kapsamlı önlem listesi griefing önleme sayfasında.
fire_spread_radius_around_player (doFireTick’in yerini aldı)#
Sayısal bir kural, varsayılan 128. Ateşin oyuncu çevresinde kaç blok mesafeye kadar yayılabileceğini belirler. 0 yayılmayı tamamen kapatır, -1 mesafe sınırını kaldırır.
# Eskiden: /gamerule doFireTick false
/gamerule fire_spread_radius_around_player 0
Ahşap ağırlıklı şehir sunucularında bunu 0 yapmak tek bir çakmakla yanan mahalleleri baştan engeller. Yanan blokların sönmesi de durur, unutmayın — mevcut alevleri elle temizlemeniz gerekebilir.
random_tick_speed (eski adı randomTickSpeed)#
Varsayılan 3. Her chunk bölümünde tick başına kaç rastgele blok güncellemesi yapılacağını belirler. Ekin büyümesi, ağaç filizlenmesi, buz erimesi, yaprak çürümesi, çim yayılması — hepsi bu sayaca bağlıdır. Performans etkisini aşağıda ayrı bir başlıkta ele alıyoruz.
immediate_respawn (eski adı doImmediateRespawn)#
Varsayılan false. true yaptığınızda ölüm ekranı hiç gösterilmez, oyuncu anında doğma noktasına döner. Minigame ve PvP sunucularında akışı belirgin biçimde hızlandırır; hayatta kalma sunucularında ölümün ağırlığını yok ettiği için genelde kapalı bırakılır.
show_advancement_messages (eski adı announceAdvancements)#
Varsayılan true. Bir oyuncu başarım kazandığında sohbete duyuru düşer. Kalabalık sunucularda bu duyurular sohbeti boğar; false yapmak başarımları iptal etmez, sadece duyuruyu kapatır. Aynı mantık ölüm mesajları için show_death_messages kuralında geçerlidir.
players_sleeping_percentage (eski adı playersSleepingPercentage)#
Varsayılan 100. Geceyi atlamak için oyuncuların yüzde kaçının yatakta olması gerektiğini belirler. Otuz kişilik bir sunucuda 100 demek gece hiç geçmeyecek demektir. Pratik değer 30–50 arasıdır; 0 yaparsanız tek bir oyuncunun uyuması geceyi atlamaya yeter.
/gamerule players_sleeping_percentage 40
respawn_radius (eski adı spawnRadius)#
Varsayılan 10. Kişisel doğma noktası olmayan bir oyuncunun, dünya spawn noktasının kaç blok çevresinde doğacağını belirler. 0 yaptığınızda herkes tam olarak aynı bloğa düşer — hazırladığınız bir karşılama platformu varsa istediğiniz budur. Ayrıntı: spawn noktası belirleme ve koruma.
spawn_phantoms (eski adı doInsomnia)#
Varsayılan true. Üç gün uyumayan oyuncuların üzerinde phantom belirmesini kontrol eder. Yapı sunucularında ve uzun süre uyumadan çalışan inşaatçıların olduğu yerlerde en çok kapatılan kurallardan biridir.
max_entity_cramming (eski adı maxEntityCramming)#
Varsayılan 24. Aynı blokta bu sayıdan fazla varlık sıkıştığında fazlalık boğulma hasarı almaya başlar. Sunucu performansı için önemli bir güvenlik supabıdır: 0 yapmak sınırı kaldırır ve hayvan istifleyen oyuncular yüzünden tick süresini patlatabilir. Yoğun sunucularda 12–16 arası bir değer daha güvenlidir. Varlık yönetiminin tamamı entity limit ve mob yoğunluğu sayfasında.
command_block_output ve send_command_feedback#
İkisi de sohbet gürültüsüyle ilgilidir ve sunucularda hemen hemen her zaman kapatılır.
command_block_output (varsayılan true), bir komut bloğu çalıştığında OP’lere bildirim gönderir. Saniyede birkaç kez tetiklenen bir redstone saatiniz varsa sohbet kullanılamaz hale gelir.
send_command_feedback (varsayılan true), çalıştırılan komutların çıktısını sohbete yazar. Datapack veya Skript ile arka planda sürekli komut çalıştırıyorsanız bunu false yapmak zorunda kalırsınız.
/gamerule command_block_output false
/gamerule send_command_feedback false
/gamerule log_admin_commands true
Son satır bilerek true: yönetici komutlarının log’a düşmesi, bir sorun çıktığında kimin ne yaptığını görmenin tek yoludur.
Tam gamerule listesi (Minecraft 26.2)#
Aşağıdaki tablo Java Edition 26.2 “Chaos Cubed” içindeki kuralları, 1.21.10 ve öncesindeki eski adlarıyla birlikte veriyor. Eski adı olmayan satırlar sonradan eklenen kurallardır.
| Kural (26.2) | Eski adı | Tip | Varsayılan | Ne yapar |
|---|---|---|---|---|
advance_time | doDaylightCycle | bool | true | Gündüz-gece döngüsü ilerler |
advance_weather | doWeatherCycle | bool | true | Hava durumu değişir |
allow_entering_nether_using_portals | — | bool | true | Nether portalıyla boyut geçişi |
block_drops | doTileDrops | bool | true | Kırılan bloklar eşya bırakır |
block_explosion_drop_decay | blockExplosionDropDecay | bool | true | Blok patlamalarında ganimetin bir kısmı yok olur |
command_block_output | commandBlockOutput | bool | true | Komut bloğu çıktısını OP’lere bildirir |
command_blocks_work | commandBlocksEnabled | bool | true | Komut blokları çalışır |
drowning_damage | drowningDamage | bool | true | Boğulma hasarı |
elytra_movement_check | disableElytraMovementCheck (ters) | bool | true | Sunucu elytra hızını denetler |
ender_pearls_vanish_on_death | enderPearlsVanishOnDeath | bool | true | Ölünce havadaki inci kaybolur |
entity_drops | doEntityDrops | bool | true | Vagon, tablo gibi varlıklar eşya bırakır |
fall_damage | fallDamage | bool | true | Düşme hasarı |
fire_damage | fireDamage | bool | true | Ateş, lav ve kamp ateşi hasarı |
fire_spread_radius_around_player | doFireTick (yerine geçti) | int | 128 | Ateşin yayılabildiği azami mesafe; 0 kapatır |
forgive_dead_players | forgiveDeadPlayers | bool | true | Öfkeli moblar oyuncu ölünce sakinleşir |
freeze_damage | freezeDamage | bool | true | Toz kar hasarı |
global_sound_events | globalSoundEvents | bool | true | Wither ve ejderha sesleri herkese duyulur |
immediate_respawn | doImmediateRespawn | bool | false | Ölüm ekranını atlar |
keep_inventory | keepInventory | bool | false | Ölünce envanter ve XP korunur |
lava_source_conversion | lavaSourceConversion | bool | false | Yeni lav kaynağı oluşabilir |
limited_crafting | doLimitedCrafting | bool | false | Yalnızca açılmış tarifler üretilebilir |
locator_bar | — | bool | true | Oyuncu konum çubuğu görünür |
log_admin_commands | logAdminCommands | bool | true | Yönetici komutları log’a yazılır |
max_block_modifications | commandModificationBlockLimit | int | 32768 | clone/fill komutlarının blok sınırı |
max_command_forks | maxCommandForkCount | int | 65536 | Tick başına komut çatallanma sınırı |
max_command_sequence_length | maxCommandChainLength | int | 65536 | Komut zinciri uzunluk sınırı |
max_entity_cramming | maxEntityCramming | int | 24 | Aynı blokta sıkışabilecek varlık sayısı |
max_minecart_speed | — | int | 8 | Azami vagon hızı |
max_snow_accumulation_height | snowAccumulationHeight | int | 1 | Blok başına azami kar katmanı |
mob_drops | doMobLoot | bool | true | Moblar eşya ve tecrübe bırakır |
mob_explosion_drop_decay | mobExplosionDropDecay | bool | true | Mob patlamalarında ganimet kaybı |
mob_griefing | mobGriefing | bool | true | Moblar çevreyi değiştirebilir |
natural_health_regeneration | naturalRegeneration | bool | true | Tokken can doğal yenilenir |
player_movement_check | disablePlayerMovementCheck (ters) | bool | true | Sunucu oyuncu hızını denetler |
players_nether_portal_creative_delay | — | int | 0 | Creative’de portal bekleme tick’i |
players_nether_portal_default_delay | — | int | 80 | Diğer modlarda portal bekleme tick’i |
players_sleeping_percentage | playersSleepingPercentage | int | 100 | Geceyi atlamak için gereken oyuncu yüzdesi |
projectiles_can_break_blocks | projectilesCanBreakBlocks | bool | true | Mermiler kırılabilir blokları kırar |
pvp | — | bool | true | Oyuncular birbirine hasar verebilir |
raids | disableRaids (ters) | bool | true | Köy baskınları etkin |
random_tick_speed | randomTickSpeed | int | 3 | Rastgele blok güncelleme hızı |
reduced_debug_info | reducedDebugInfo | bool | false | F3 ekranını kısıtlar |
respawn_radius | spawnRadius | int | 10 | Spawn çevresinde doğma yarıçapı |
send_command_feedback | sendCommandFeedback | bool | true | Komut çıktısı sohbete yazılır |
show_advancement_messages | announceAdvancements | bool | true | Başarım duyuruları sohbete düşer |
show_death_messages | showDeathMessages | bool | true | Ölüm mesajları görünür |
spawn_mobs | doMobSpawning | bool | true | Doğal mob doğumu |
spawn_monsters | — | bool | true | Düşman mob doğumu |
spawn_patrols | doPatrolSpawning | bool | true | Yağmacı devriyeleri doğar |
spawn_phantoms | doInsomnia | bool | true | Uyumayan oyunculara phantom gelir |
spawn_wandering_traders | doTraderSpawning | bool | true | Gezgin tüccar doğar |
spawn_wardens | doWardenSpawning | bool | true | Warden doğabilir |
spawner_blocks_work | spawnerBlocksEnabled | bool | true | Spawner blokları çalışır |
spectators_generate_chunks | spectatorsGenerateChunks | bool | true | Spectator modu chunk üretir |
spread_vines | doVinesSpread | bool | true | Sarmaşıklar yayılır |
tnt_explodes | — | bool | true | TNT ateşlendiğinde patlar |
tnt_explosion_drop_decay | tntExplosionDropDecay | bool | false | TNT patlamasında ganimet kaybı |
universal_anger | universalAnger | bool | false | Öfkeli moblar yakındaki herkese saldırır |
water_source_conversion | waterSourceConversion | bool | true | Yeni su kaynağı oluşabilir |
raids, elytra_movement_check ve player_movement_check kurallarında yalnız ad değil anlam da tersine döndü. Eskiden disableRaids true baskınları kapatıyordu; şimdi aynı işi raids false yapıyor. Eski komut listelerinizi kopyalarken bu üç satıra dikkat edin.Kaldırılan iki kural: doFireTick ve spawnChunkRadius#
Eski rehberlerde sık geçen ama artık var olmayan iki kural var. Bunları yazdığınızda komut hata verir.
| Kaldırılan kural | Ne zaman | Bugün ne kullanılıyor |
|---|---|---|
doFireTick | 1.21.11’de kaldırıldı | fire_spread_radius_around_player (0 = kapalı) |
spawnChunkRadius | 1.21.9’da kaldırıldı | /forceload add komutu |
spawnChunkRadius tek başına gitmedi; spawn chunk mekanizmasının tamamı 1.21.9 ile kaldırıldı. Doğma noktası çevresindeki chunk’lar artık kendiliğinden yüklü kalmıyor. Bir bölgenin oyuncu olmadan da yüklü kalmasını istiyorsanız yolu /forceload:
/forceload add -32 -32 32 32
/forceload query
/forceload remove -32 -32 32 32
Gamerule’ler nerede saklanır?#
Değerler dünya klasöründeki level.dat dosyasının içinde tutulur. Bunun üç pratik sonucu var:
-
Yeniden başlatma kuralları sıfırlamaz#
Bir kez ayarladığınız gamerule dünyayla birlikte kaydedilir.
server.properties’in aksine her açılışta yeniden okunması gereken bir dosya yoktur. -
Nether ve End ayrı değildir#
Vanilla’da üç boyut tek bir
level.datpaylaşır. Yani “Nether’da keepInventory kapalı olsun” diye bir ayrım vanilla’da yapılamaz. -
Yeni dünya = varsayılan kurallar#
Dünyayı sıfırladığınızda tüm gamerule’ler fabrika değerlerine döner. Dünya sıfırlama öncesinde kural listenizi bir metin dosyasına kopyalayın.
Bukkit, Spigot ve Paper tabanlı çok dünyalı sunucularda durum farklıdır: her dünya klasörünün kendi level.dat dosyası olduğu için kurallar dünya başına ayrışır. Multiverse kullanıyorsanız hedef dünyayı komutta belirtebilirsiniz:
/mv gamerule set keep_inventory true etkinlik
/mv gamerule set pvp false lobi
Sunucuda kalıcı ve tekrarlanabilir ayarlama#
Gamerule’ler zaten kalıcı, ama sunucu işletirken “her yeni dünyada aynı kurallar geçerli olsun” ihtiyacı doğar. Üç yöntem var.
Birincisi ve en basiti: kural setinizi bir metin dosyasında tutun ve yeni dünya açtığınızda konsola tek tek yapıştırın. Küçük sunucular için fazlasıyla yeterli.
İkincisi: bir veri paketi (datapack) yazıp kuralları minecraft:load fonksiyon etiketine bağlamak. Sunucu her açıldığında ve her /reload sonrasında fonksiyon çalışır, kurallar otomatik uygulanır. Klasör yapısı ve yükleme adımları datapack kurulumu sayfasında.
Üçüncüsü: Multiverse gibi bir çok dünya eklentisi kullanıp kuralları eklentinin yapılandırmasında tutmak. Dünya başına farklı kural setiniz varsa tek makul yol budur.
Sunucu türüne göre hazır setler#
# Eklentili survival sunucusu
gamerule keep_inventory false
gamerule players_sleeping_percentage 40
gamerule mob_griefing true
gamerule max_entity_cramming 16
gamerule random_tick_speed 3
gamerule show_advancement_messages false
gamerule command_block_output false
gamerule send_command_feedback false
# Inşa / creative sunucusu
gamerule advance_time false
gamerule advance_weather false
gamerule spawn_mobs false
gamerule fire_spread_radius_around_player 0
gamerule keep_inventory true
gamerule spawn_phantoms false
gamerule mob_griefing false
# Minigame / PvP sunucusu
gamerule immediate_respawn true
gamerule keep_inventory true
gamerule advance_time false
gamerule show_death_messages true
gamerule natural_health_regeneration false
gamerule spawn_mobs false
gamerule send_command_feedback false
random_tick_speed ve performans faturası#
Bu kural, gamerule’ler arasında sunucu performansını en doğrudan etkileyen tek kuraldır ve ne yazık ki en çok kurcalananlardan biri.
Mekanik şöyle işliyor: sunucu her tick’te, yüklü her chunk bölümünde (16×16×16’lık blok küpü) belirlediğiniz sayı kadar rastgele blok seçer ve o bloğa bir güncelleme uygular. Varsayılan 3’tür. Değeri 30 yaptığınızda sunucu tam olarak on kat daha fazla blok güncellemesi yapar — hem de her tick’te, her yüklü chunk bölümünde.
Fatura tek oyunculu bir dünyada hissedilmez. On beş oyuncunun her birinin çevresinde yüzlerce chunk yüklüyken hissedilir. MSPT yükselir, TPS 20’nin altına iner ve “sunucu lag yapıyor” şikâyetleri başlar.
/gamerule random_tick_speed yazıp değeri kontrol edin. Test için 100 yapıp geri düşürmeyi unutmuş bir yetkili, tahmin ettiğinizden çok daha sık karşımıza çıkıyor.Makul kullanım şu: kalıcı olarak 3’te bırakın. Tarım etkinliği yapacaksanız etkinlik süresince 6–10 arasına çıkarın, bitince geri alın. 20 ve üzeri değerler yalnızca test dünyalarına aittir. Teşhis tarafı için TPS düşüklüğü çözüm yolları ve sunucu optimizasyonu sayfaları işinize yarar.
Tabii bir de donanım tarafı var. Minecraft’ın ana tick döngüsü tek çekirdekte çalıştığı için çekirdek sayısı değil saat hızı belirleyicidir; yüksek frekanslı bir Ryzen 9 ile NVMe SSD üzerinde aynı kural seti çok daha rahat taşınır. Batihost’un Minecraft sunucu paketleri bu iki bileşene göre kurulu ve 156 TL’den başlıyor.
Sık yapılan hatalar#
- Eski camelCase adı yazmak. 26.2’de
keepInventoryyerinekeep_inventory. Emin olamadığınızda sekme tamamlamasına güvenin. - Ters dönen kuralları atlamak.
disableRaids trueileraids falseaynı şeydir; ilkini yazarsanız ya hata alır ya da tersini yaparsınız. - Havayı temizlemeden döngüyü kapatmak. Önce
/weather clear, sonraadvance_weather false. - Konsoldan yanlış dünyaya komut yollamak. Çok dünyalı sunucularda konsol ana dünyada çalışır; hedef dünyayı Multiverse komutuyla belirtin.
- Dünya sıfırlarken kural setini kaybetmek. Yeni dünya varsayılanlarla açılır, hala aynı kuralların geçerli olduğunu sanmayın.
- random_tick_speed’i unutmak. Test için yükseltip geri düşürmemek en pahalı hatadır.
Özetle#
Gamerule komutlarının çekirdeği tek satır: /gamerule <kural> <değer>, yetki seviyesi 2, anında etkili, dünyaya kalıcı olarak kaydedilir. 26.2’de kural adları snake_case’dir — keep_inventory, mob_griefing, advance_time, random_tick_speed — ve eski camelCase adlar kullanımdan kaldırılmış sayılır.
Sunucu işletiyorsanız dört kuralı baştan ayarlayın: players_sleeping_percentage 40, max_entity_cramming 16, command_block_output ve send_command_feedback kapalı. random_tick_speed değerini 3’te bırakın; performansla ilgili tek gerçek riskiniz odur. Komutların geri kalanı için oyun içi komutlar listesi ve server.properties ayarları sayfaları bu sayfayı tamamlıyor.