HomeBerandaSystemsSistemCity DefenceCity Defence

Server Event · Requires Recompile Event Server · Perlu Recompile

A Town Your Players Build for Weeks — and Can Lose in One Night Kota yang Dibangun Pemainmu Berminggu-minggu — dan Bisa Hilang dalam Semalam

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.

5 Cities Ready5 Kota Siap Pakai Barricades That Really BlockPalang yang Benar-benar Menutup AI DefendersPrajurit AI A City Can Actually FallKotanya Bisa Beneran Jatuh Everything in SQLSemuanya di SQL
The loopPutaran mainnya

Built Over Weeks, Spent in One HourDibangun Berminggu-minggu, Dibelanjakan dalam Sejam

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.

DevelopBangun

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.

InvestBelanjakan

Points raise the city level, and buy barricade stock and defender stock. Poin menaikkan level kota, dan membeli stok palang serta stok pertahanan.

SiegeDiserang

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 or FallBertahan atau Jatuh

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.

What the city buysYang dibeli kota

Three Things, and Players Feel Every OneTiga Hal, dan Pemain Merasakan Ketiganya

Warning timeWaktu peringatan

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.

🧱

Barricades that really blockPalang yang benar-benar menutup

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.

🛡️

Defenders that come homePrajurit yang pulang membela

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.

StakesTaruhannya

A Reward Everyone Shares, a Loss Everyone SeesHadiah yang Dinikmati Semua, Kekalahan yang Dilihat Semua

The city holdsKotanya bertahan

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 Core fallsIntinya hancur

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.

Yours to shapeBebas kamu bentuk

A Sixth City Is Five Rows of SQLKota Keenam Cuma Lima Baris SQL

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.

🎚️

Tuned from inside the gameDisetel dari dalam game

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 checker for your own mapsPemeriksa untuk petamu sendiri

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.

Under the hoodDi balik layar

Four Things That Already Went WrongEmpat Hal yang Sudah Pernah Salah

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.

An unattended raid emptied two capitalsSerangan tanpa penonton mengosongkan dua ibu kota

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.

Players could attack their own barricadesPemain bisa menyerang palangnya sendiri

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.

The map file liesBerkas petanya berbohong

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.

Scaling the defenders' defence made them immortalMenskala pertahanan prajurit membuat mereka kebal

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.

🤔 "Isn't this the same as Town Defend?""Ini sama saja dengan Town Defend?"

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.

Before you buySebelum kamu membeli

Will It Run on Your Server?Apakah Jalan di Servermu?

Yes, ifYa, kalau

  • you run rAthena, pre-renewal or renewalservermu rAthena, pre-renewal maupun renewal
  • you can recompile the map-server (or we do it for you)kamu bisa recompile map-server (atau kami yang kerjakan)
  • your towns are the stock ones, or you can give us coordinateskotamu peta bawaan, atau kamu bisa memberi kami koordinatnya
  • you want an event that uses what players built, not one that ignores itkamu ingin event yang memakai hasil kerja pemain, bukan yang mengabaikannya

⚠️ Said up frontDisebut di muka

  • it needs a source rebuild — barricades that block cells and structures players cannot hit are not possible from script alonebutuh rebuild source — palang yang mengunci sel dan bangunan yang tak bisa dipukul pemain mustahil dari script saja
  • it ships with the Fake Player engine, because the AI defenders are part of it — you get the engine and everything else it powersia datang bersama mesin Fake Player, karena prajurit AI-nya bagian dari itu — kamu dapat mesinnya dan semua yang berjalan di atasnya
  • shipped coordinates were measured on one server — run the included checker against yours before opening it to playerskoordinat bawaannya diukur di satu server — jalankan pemeriksa yang disertakan pada servermu sebelum dibuka ke pemain
  • a fallen city really does switch its NPCs off. That is the feature — decide you want itkota yang jatuh benar-benar mematikan NPC-nya. Itu memang fiturnya — pastikan kamu memang menginginkannya
Straight answersJawaban lugas

Common QuestionsPertanyaan yang Sering Muncul

Do I have to recompile?Apakah harus recompile?

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.

Can a city be lost while nobody is online?Bisakah kota hilang saat tidak ada yang online?

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.

What exactly happens to a fallen city?Apa persisnya yang terjadi pada kota yang jatuh?

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.

Where do the AI defenders come from?Prajurit AI-nya datang dari mana?

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.

Can I use my own custom town maps?Bisakah pakai peta kota custom saya sendiri?

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.

How often does a siege happen?Seberapa sering pengepungan terjadi?

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.

Do players need to be in a guild?Apakah pemain harus punya guild?

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.

What if my players never develop the city?Bagaimana kalau pemain saya tidak pernah membangun kotanya?

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