HomeBeranda › SystemsSistem › City DefenceCity Defence
Server Event · Requires Recompile Event Server · Perlu Recompile
Your players develop a town: they run projects, hand in materials, hunt quotas. Then one night the horde arrives, and everything they built is what defends them. The town's level buys them warning time. Their barricade stock raises real structures across the roads in. Their defender stock calls your own hunting bots home to fight. Waves pour through the gates toward a Core standing in the plaza — and if it falls, so does the city. Pemainmu membangun kota: mengerjakan proyek, menyetor bahan, memburu kuota. Lalu suatu malam hordanya datang, dan semua yang mereka bangun itulah yang membela mereka. Level kota membeli waktu peringatan. Stok palang mereka mendirikan barikade sungguhan di jalan-jalan masuk. Stok pertahanan memanggil pulang bot pemburu milik servermu untuk bertempur. Gelombang menyerbu lewat gerbang menuju Inti Pertahanan di alun-alun — dan kalau ia jatuh, kotanya ikut jatuh.
Most server events cost the player nothing to lose. This one spends something they actually worked for — and that is the whole reason it holds their attention. Kebanyakan event server tidak membuat pemain kehilangan apa pun. Yang ini membelanjakan sesuatu yang benar-benar mereka kerjakan — dan itulah alasan ia terus dipedulikan.
Players run projects, submit materials and finish hunting quotas to earn city points. Pemain mengerjakan proyek, menyetor bahan dan menuntaskan kuota berburu untuk poin kota.
Points raise the city level, and buy barricade stock and defender stock. Poin menaikkan level kota, dan membeli stok palang serta stok pertahanan.
The horde arrives on its own schedule. Waves push through the gates toward the Core. Hordanya datang pada jadwalnya sendiri. Gelombang menerobos gerbang menuju Inti.
Hold and the whole server is rewarded. Lose the Core and the town goes dark. Bertahan dan seluruh server diberi hadiah. Inti hancur dan kotanya padam.
A level 1 town barely gets a shout before the horde is inside. A level 3 town gets long enough to call people back and organise. That single number is the most-felt reward in the whole system. Kota level 1 nyaris cuma dapat teriakan sebelum hordanya masuk. Kota level 3 dapat waktu yang cukup untuk memanggil orang dan mengatur barisan. Satu angka itu adalah hadiah yang paling terasa di seluruh sistem ini.
Not decorative mobs standing in the road — they seal the cells, so the horde has to walk the long way round or break through. A barricade is worth exactly the detour it forces. Bukan mob hiasan yang berdiri di jalan — mereka mengunci selnya, jadi horda harus memutar jauh atau menembusnya. Nilai sebuah palang persis sejauh jalan memutar yang ia paksakan.
The AI defenders are your own hunting bots, called back from the fields where they were grinding — and they go back out when the siege is over. Prajurit AI-nya adalah bot pemburu milik servermu sendiri, dipanggil pulang dari padang tempat mereka farming — dan kembali ke sana setelah pengepungannya usai.
Wipe out the attackers, or simply survive to the end of the raid, and the entire server — not just the defenders — gets an EXP and drop bonus. Habisi seluruh penyerang, atau cukup bertahan sampai serangannya berakhir, dan seluruh server — bukan cuma yang ikut membela — mendapat bonus EXP dan drop.
That is deliberate: it turns "the town is under attack" into something the people who are not there still care about. Itu disengaja: ia mengubah "kotanya lagi diserang" jadi sesuatu yang tetap dipedulikan orang yang tidak ada di sana.
The city goes dark. Every NPC in it stops working — shops, kafra, healers, quest givers — and only the warps keep running so nobody is trapped. Kotanya padam. Setiap NPC di dalamnya berhenti bekerja — toko, kafra, healer, pemberi quest — dan hanya warp yang tetap jalan supaya tidak ada yang terjebak.
It recovers on its own with time, or somebody pays to repair it. Either way the server spends a few days knowing exactly what it lost. Ia pulih sendiri seiring waktu, atau ada yang membayar untuk memperbaikinya. Bagaimanapun, server menghabiskan beberapa hari dengan tahu persis apa yang hilang.
Every city, gate, barricade position, wave and gameplay number lives in the database — not in the script. Adding a city is five rows and one in-game command. No script edit, no rebuild, no client patch, no restart. Setiap kota, gerbang, posisi palang, gelombang dan angka permainan hidup di database — bukan di dalam script. Menambah kota cukup lima baris dan satu perintah di dalam game. Tanpa edit script, tanpa rebuild, tanpa patch klien, tanpa restart.
Core HP, barricade HP, wave size and interval, raid length, how often a siege happens, the minimum players before one starts — a GM panel, applied instantly. HP Inti, HP palang, besar dan jeda gelombang, lama serangan, seberapa sering pengepungan terjadi, minimal pemain sebelum dimulai — panel GM, berlaku seketika.
A tool is included that reads the same map cache your server loads and verifies every gate, barricade and Core coordinate at once. Ten seconds, and it answers a question nothing else can. Disertakan alat yang membaca map cache yang sama dengan yang dimuat servermu dan memeriksa setiap koordinat gerbang, palang dan Inti sekaligus. Sepuluh detik, dan ia menjawab pertanyaan yang tidak bisa dijawab cara lain.
$ python cek_koordinat.py /root/rathena/db --sql 01-install.sql
=== payon (map payon, 300x360, from import/map_cache.dat)
all 24 coordinates are walkable
=== prontera (map prontera, 312x392, from import/map_cache.dat)
RUSAK palang North/Gate-2 152,297 WALL (gat=1)
coordinates checked : 124
BROKEN : 1
A barricade placed inside a wall never appears, and the gate is simply left open — with no error anywhere. This is the tool that catches it before your players do. Palang yang koordinatnya di dalam tembok tidak pernah berdiri, dan gerbangnya cuma dibiarkan terbuka — tanpa satu pun galat. Inilah alat yang menangkapnya sebelum pemainmu yang menemukannya.
Every one of them failed silently. They are fixed here, and written down in the package docs so the next person does not have to find them again. Semuanya gagal diam-diam. Semuanya sudah dibereskan di sini, dan ditulis di dokumen paketnya supaya orang berikutnya tidak perlu menemukannya lagi.
A siege that runs while nobody is online is won by the attackers by default. Now the Core takes no damage at all below a minimum number of real players online — a number you set. Players cannot lose a city they were never given a chance to defend. Pengepungan yang berjalan saat tidak ada yang online otomatis dimenangkan penyerang. Sekarang Inti sama sekali tidak menerima damage di bawah jumlah minimal pemain nyata yang online — angka yang kamu tentukan. Pemain tidak bisa kehilangan kota yang tidak pernah sempat mereka bela.
Barricades and the Core are mobs, and rAthena gives a player BCT_ENEMY
against any non-player unconditionally. Making them damage-immune instead would block the invaders
too — and then the horde just stands next to the Core forever. It takes a real source change, and
it is included.
Palang dan Inti adalah mob, dan rAthena memberi pemain BCT_ENEMY terhadap
non-pemain tanpa syarat. Membuatnya kebal damage justru memblokir penyerangnya juga — dan
hordanya lalu berdiri di sebelah Inti selamanya. Ini butuh perubahan source sungguhan, dan itu disertakan.
A .gat in your map folder can differ by hundreds of cells from the
cache the map-server actually loads. Measuring coordinates from the wrong one gives a confidently wrong
answer. The included checker reads them in the same order the server does.
Berkas .gat di folder petamu bisa berbeda ratusan sel dari cache yang
benar-benar dimuat map-server. Mengukur koordinat dari yang salah memberi jawaban yang salah dengan penuh
percaya diri. Pemeriksa yang disertakan membacanya dengan urutan yang sama dengan servernya.
On pre-renewal, hard DEF is a percentage reduction — multiplying it does not make a bot tougher, it makes it unkillable. So the strength knob scales HP and attack only, on purpose, and the docs say why. Di pre-renewal, DEF keras adalah pengurangan persen — mengalikannya bukan membuat bot lebih kuat, tapi membuatnya tidak bisa mati. Jadi tuas kekuatannya menskala HP dan serangan saja, dengan sengaja, dan dokumennya menjelaskan kenapa.
No — and if you already own that one, this is the difference worth knowing before you buy a second thing. Bukan — dan kalau kamu sudah punya yang itu, inilah bedanya yang perlu kamu tahu sebelum membeli yang kedua.
| Town Defend | City DefenceCity Defence | |
|---|---|---|
| What is defendedYang dibela | an Emperium you placeEmperium yang kamu tempatkan | a Core in your real town's plazaInti di alun-alun kota sungguhanmu |
| When it happensKapan terjadi | an event you startevent yang kamu mulai | on its own schedule, any of 5 citiesjadwalnya sendiri, di salah satu dari 5 kota |
| What players bringYang dibawa pemain | themselvesdiri mereka sendiri | weeks of city development, spent that nightpembangunan kota berminggu-minggu, dibelanjakan malam itu |
| Who else fightsSiapa lagi yang bertempur | nobodytidak ada | AI defenders recalled from the fieldsprajurit AI dipanggil pulang dari padang |
| If it is lostKalau kalah | the event endsevent-nya selesai | the town goes dark for dayskotanya padam berhari-hari |
| RecompileRecompile | notidak | yesya |
Town Defend is an event. City Defence is a standing threat to a place your players live in. They sit happily side by side. Town Defend itu event. City Defence itu ancaman tetap terhadap tempat yang dihuni pemainmu. Keduanya bisa jalan berdampingan.
Yes, and we say so plainly because some sellers do not. Two things are impossible from script alone: barricades that genuinely seal road cells, and structures a player cannot attack while the invaders still can. Both need a source change, and every patch is documented hunk by hunk with the reason it exists.Ya, dan kami menyebutkannya terus terang karena sebagian penjual tidak. Dua hal mustahil dari script saja: palang yang benar-benar mengunci sel jalan, dan bangunan yang tak bisa diserang pemain sementara penyerang tetap bisa. Keduanya butuh perubahan source, dan tiap tambalan didokumentasikan per potongan beserta alasannya.
No. The Core takes no damage at all below a minimum number of real players online, and you set that number. This exists because it happened once on a live server: an unattended raid emptied two capitals overnight. Players never lose a city they were not given a chance to defend.Tidak. Inti sama sekali tidak menerima damage di bawah jumlah minimal pemain nyata yang online, dan kamu yang menentukan angkanya. Pengaman ini ada karena pernah terjadi sungguhan di server hidup: serangan tanpa penonton mengosongkan dua ibu kota dalam semalam. Pemain tidak akan pernah kehilangan kota yang tidak sempat mereka bela.
Every NPC in it stops working — shops, kafra, healers, quest givers — except the warps, so nobody gets trapped. Which NPCs were switched off is recorded, so recovery puts back exactly those and nothing else. The city recovers on its own with time, or a GM or player can pay to repair it.Setiap NPC di dalamnya berhenti bekerja — toko, kafra, healer, pemberi quest — kecuali warp, jadi tidak ada yang terjebak. NPC mana saja yang dimatikan itu dicatat, jadi pemulihannya mengembalikan persis itu dan bukan yang lain. Kotanya pulih sendiri seiring waktu, atau GM maupun pemain bisa membayar untuk memperbaikinya.
They are your own hunting bots, recalled from the field maps they were grinding on — and released back to those maps when the siege ends. If a city needs more than the world can spare, fresh ones are fielded to make up the difference. Their strength is a number in the GM panel, not something buried in the source.Mereka adalah bot pemburu milik servermu, dipanggil pulang dari peta padang tempat mereka farming — dan dilepas kembali ke sana saat pengepungannya usai. Kalau sebuah kota butuh lebih banyak daripada yang tersedia, bot baru diturunkan untuk menutupi kekurangannya. Kekuatan mereka satu angka di panel GM, bukan sesuatu yang terkubur di dalam source.
Yes. A city is five rows of SQL: the map, the Core position, the gate spawn points and the barricade cells. Run the included coordinate checker against your map cache, fix anything it flags, then one in-game command reloads it. No script edit and no restart.Bisa. Sebuah kota cuma lima baris SQL: petanya, posisi Inti, titik spawn gerbang dan sel palangnya. Jalankan pemeriksa koordinat yang disertakan pada map cache-mu, betulkan yang ditandainya, lalu satu perintah di dalam game memuat ulangnya. Tanpa edit script dan tanpa restart.
You choose: a random interval between a minimum and a maximum, or fixed hours. You also set how many cities may be under attack at once, how long a raid lasts, and the minimum players online before one can start at all. All of it from the GM panel, applied instantly.Kamu yang menentukan: jeda acak antara batas terpendek dan terpanjang, atau jam tetap. Kamu juga menentukan berapa kota boleh diserang bersamaan, berapa lama satu serangan, dan minimal pemain online sebelum ia boleh dimulai. Semuanya dari panel GM, berlaku seketika.
No. This is a whole-server event, not a guild one — anybody standing in the town can fight, and the reward for holding goes to everybody online, including the people who were not there. That is deliberate: it makes the siege matter to players who are busy elsewhere.Tidak. Ini event se-server, bukan event guild — siapa pun yang berdiri di kota itu bisa bertempur, dan hadiah bertahan diberikan ke semua yang online, termasuk yang tidak ikut. Itu disengaja: ia membuat pengepungan itu berarti bagi pemain yang sedang sibuk di tempat lain.
Then it is defended at level 1: almost no warning, no barricades, no AI defenders — and they will probably lose it once. That is the lesson the system is built to teach, and it is usually only needed once.Maka kotanya dibela pada level 1: nyaris tanpa peringatan, tanpa palang, tanpa prajurit AI — dan mereka kemungkinan besar akan kehilangannya sekali. Itulah pelajaran yang memang dirancang untuk diajarkan sistem ini, dan biasanya cukup sekali.
We install it, tune the numbers to your server's size, and verify every coordinate against your own maps before your players ever see it. Kami memasangnya, menyetel angkanya sesuai ukuran servermu, dan memverifikasi setiap koordinat pada petamu sendiri sebelum pemainmu melihatnya.
Contact for PricingHubungi untuk Harga