Збір даних
Коли які дані надсилати
KWET обчислює все з того, що йому надсилають. Знімок у слушний момент дає повний тиждень; той самий знімок на два дні раніше лишає дірку, яку вже ніщо не заповнить. Ось, вид за видом, момент, що має значення, і чому.
KWET — це інструмент статистики: він не під'єднується до гри й нічого з неї не витягує. Він читає лише документи, які надсилає твій альянс. Який інструмент надсилання обрати й чи дотримується він умов користування грою — вирішує сам альянс.
Завантаж lwvs — інструмент надсилання
lwvs — безкоштовна програма для Windows (інтерфейс англійською, французькою або німецькою), створена для KWET. Її встановлює один R4, який грає в Last War на ПК; більше нікому в альянсі нічого встановлювати не треба.
Завантажити lwvs 0.6.0 для Windows
Ця кнопка завжди дає останню версію. Це ZIP: розпакуй усю теку, lwvs.exe всередині. Що нового і старі версії
Як це працює, коротко
lwvs слухає через Wireshark те, що гра отримує на твоєму ПК. Коли ти відкриваєш у грі екран рейтингу, гра завантажує цей рейтинг — і lwvs читає його в ту ж мить. Він нічого не надсилає грі, нічого в ній не змінює й ніколи не торкається твого акаунта. Desert Storm, Canyon Storm і потяги читаються з листів із результатами, які гра зберігає на твоєму ПК, без Wireshark. Ніщо не покидає твій ПК, доки ти не натиснеш «Send to the site».
Встановлення крок за кроком
- Встанови Wireshark (wireshark.org, безкоштовно). Під час встановлення залиш Npcap позначеним і НЕ познач «Restrict Npcap driver's access to Administrators only».
- Розпакуй теку lwvs туди, де можеш записувати (Документи, не Program Files), і двічі клацни lwvs.exe. Якщо Windows пише «Windows захистила ваш ПК», натисни «Докладніше», потім «Усе одно запустити»: програма просто не підписана.
- У lwvs «Settings» → «Stats site»: встав адресу свого сайту (https://<alliance>.kwet.eu) і токен з Інструменти R4 → Інгест, потім «Test the connection».
- Запусти Last War, потім у lwvs «Start capture». Відкрий у грі потрібні екрани (уже відкритий екран треба закрити й відкрити знову), потім «Stop» і «Send to the site».
Усе, що lwvs може надіслати
-
VS (Дуель альянсів)
Екран: рейтинг Дуелі альянсів.
Очки кожного учасника за кожен день дуелі й підсумок тижня.
-
Вбивства
Екран: рейтинг учасників альянсу.
Лічильник вбивств кожного учасника. Він тільки зростає, тож сайт рахує вбивства тижня з двох знімків.
-
Донати
Екран: рейтинг учасників альянсу (той самий знімок, що й для вбивств).
Очки донатів за день і за тиждень для кожного учасника.
-
Ранги R1–R5
Екран: рейтинг учасників альянсу (той самий знімок, що й для вбивств).
Ранг кожного учасника. Це ж оновлює склад: хто прийшов, хто пішов, хто став R4.
-
Загальна сила героїв (THP)
Екран: рейтинг сервера, вкладка сили героїв.
THP кожного гравця. Він береться з рейтингу всього сервера, тому там лише топ-200.
-
Сезонні події (Spice Wars…)
Екран: особистий рейтинг події.
Очки події кожного учасника. Ти вказуєш lwvs, яка це подія.
-
Desert Storm і Canyon Storm
Джерело: листи з результатами, прочитані на ПК (без знімка).
Один результат на битву й команду: очки кожного гравця.
-
Записи на Storm
Екран: список записаних команди A або B.
Хто записаний у кожну команду, основний чи запасний.
-
Потяги альянсу
Джерело: листи про потяги, прочитані на ПК (без знімка).
Для кожного потяга: машиніст і VIP або Guardian, і чи потяг куплений.
Чого lwvs ніколи не надсилає: паролі, чат, особисті повідомлення, ресурси, твою базу. Кожен рядок містить лише ігровий ідентифікатор гравця, його нік і число з екрана. Окрім THP, зберігається лише твій альянс.
Графік тижня
-
VS: дні дуелі
Двічі: у суботу, потім у неділю. Частіше, якщо хочеш.
Знімок у суботу містить повні дні з понеділка по п'ятницю і вже зіграну частину суботи. Недільний знімок доповнює суботу: гра її вже не показує, але вона лишається в отриманих даних. Тиждень повний лише з обома. Надсилання між ними тримають сайт актуальним; нічого не рахується двічі.
-
Вбивства
Щонайменше раз у неділю.
Неділя йде після дня Buster, коли вбивства ростуть найбільше, — часто саме він розводить два тижні. Вбивства за тиждень — це різниця між його останнім знімком і попереднім: без знімка в неділю тиждень обривається зарано.
-
Пожертви
У неділю, якомога пізніше перед скиданням (опівночі за часом сервера, UTC−2).
Лічильник пожертв щопонеділка починається з нуля. Зараховується останній знімок тижня, а все, що пожертвувано після нього, для сайту втрачено.
-
Загальна сила героїв (THP)
Щонайменше раз на тиждень, у будь-який день — не пізніше неділі.
THP — це показник у певний момент, а не лічильник. Одного показника на тиждень досить для рівних графіків і приросту за 30 днів. Він береться з рейтингу всього сервера, де є лише перші 200.
-
Canyon Storm: результати
Коли завгодно, аби після матчу.
Під час матчу нічого особливого робити не треба: запусти надсилання, коли надійде результат. Рекомендований сторонній інструмент читає листи гри в застосунку для Windows, тож не видаляй ці листи.
-
Desert Storm: результати
Коли завгодно, аби після матчу.
Під час матчу нічого особливого робити не треба: запусти надсилання, коли надійде результат. Рекомендований сторонній інструмент читає листи гри в застосунку для Windows, тож не видаляй ці листи.
-
Desert Storm і Canyon Storm: записані
Між закриттям запису й початком матчів (необов'язково).
Саме тоді список записаних остаточний. З ним сайт порівнює записаних із тими, хто справді зіграв. Без нього результати однаково надходять; бракує лише цього порівняння.
-
Потяги альянсу
Коли завгодно.
Кожен лист про потяг каже, хто вів і хто супроводжував. Листи лишаються в поштовій скриньці гри, тож чекати не шкодить: сайт звіряє їх із розкладом, щойно вони надходять.
-
Сезонні табірні події
Під час події, у день результатів.
Ці події бувають лише під час сезону (близько 4 тижнів кожні 4 місяці). Поза подією надсилати нічого, і нічого не бракує.
На сайті твого альянсу R4 Tools → Збір даних показує, що надійшло цього й минулого тижня і чи вчасно.
lwvs не обов'язковий
Сторонній інструмент, який ми радимо, lwvs, — лише один зі способів надсилати дані. KWET приймає будь-який інструмент, що дотримується того самого контракту: він дивиться не на те, хто надсилає, а на те, що надіслано. Сайт використовує саме ті дані, які описує цей контракт, і нічого більше.
Кожен рейтинг — це один документ JSON, надісланий через POST на https://<alliance>.kwet.eu/api/rankings з токеном альянсу (R4 Tools → Інгест) у заголовку Authorization: Bearer.
POST https://<alliance>.kwet.eu/api/rankings
Authorization: Bearer <token>
Content-Type: application/json
{
"mode": "kill_rank",
"exported_at": "2026-10-18T21:40:00Z",
"records": [
{"uid": "123456789", "player_name": "Alpha", "score": 1520340, "rank": 1},
{"uid": "987654321", "player_name": "Bravo", "score": 0, "rank": 2}
]
}
- uid — ідентифікатор гравця в грі та єдиний ключ: ніки змінюються, player_name — лише підпис.
- Рахунок 0 означає «виміряно, нічого не набрав». Гравець, якого немає в документі, означає «не виміряно». Не вигадуй нулів.
- exported_at — час знімка в ISO 8601 (бажано UTC), а не час надсилання: саме він відносить документ до потрібного дня й тижня.
- Необов'язковий блок context додає те, чого не каже сам рейтинг: день дуелі (day), суперника, подію. Якщо він невідомий, пропусти його замість порожніх значень.
- Повторне надсилання точно того самого документа нічого не робить: його впізнають за відбитком і пропускають. Тож надсилання можна сміливо повторювати.
- Режим, якого KWET не знає, зберігається як є й ніколи не відхиляється: його використають, щойно сайт навчиться його читати.
Режими, які розпізнаються зараз:
kill_rankweekly_rankdaily_rankcamp_battle_rankdonation_weekly_rankdonation_daily_rankthp_rankalliance_roledesert_storm_rankcanyon_storm_rankalliance_train
По детальний контракт (поля кожного режиму, блок context) пиши LittleSanto в Discord.