Metin2: 32bitový nebo 64bitový klient? Ověřte EXE a příznak 4 GB
Čtecí kontrola architektury a příznaku LAA klienta Metin2. Rozdíl mezi limitem 2/4 GB, nativním x64 a kompatibilitou klienta se serverem.
Příznak 4 GB nezmění klienta x86 na x64
Klient Metin2 může zůstat 32bitovým programem x86, i když běží na 64bitových Windows a má zapnutý příznak Large Address Aware. Tento příznak, často spojovaný s označením „4GB patch“, se týká adresního prostoru. Nativní klient x64 je jiné sestavení pro jinou strojovou architekturu. Ani jeden z těchto údajů sám nedokazuje vyšší FPS nebo opravu každého pádu.
První užitečná otázka zní: jakou architekturu má skutečný spustitelný soubor hry? Požadavky serveru na Windows, launcher a herní proces mohou popisovat různé věci. Návod ukazuje čtecí kontrolu hlavičky EXE a vysvětluje, co její výsledek znamená. Nepředpokládá stejného klienta na všech serverech Metin2.

Generovaná ilustrace podle herních referencí Metin2. Nejde o screenshot, měření paměti ani důkaz konkrétního sestavení klienta.
Paměťová čísla čtěte správně
Dokumentace Microsoftu k LAA a tabulky paměťových limitů rozlišují virtuální adresní prostor procesu a fyzickou RAM. Paměťové řádky níže předpokládají edici Windows pro x64. Řádek ARM64 určuje jinou architekturu souboru; netvrdí, že takový soubor běží na Windows x64.
| Spustitelný soubor | Machine / formát | LAA | Co z toho plyne |
|---|---|---|---|
| 32bitový x86 | 0x014C / PE32 | Vypnutý | Obvykle limit 2 GB uživatelského virtuálního adresního prostoru |
| 32bitový x86 | 0x014C / PE32 | Zapnutý | Až 4 GB uživatelského virtuálního adresního prostoru; pořád x86 |
| Nativní x64 | 0x8664 / PE32+ | Zapnutý | Větší adresní prostor podle vydání Windows a limitů procesu, místo stropu x86 |
| ARM64 | 0xAA64 / PE32+ | Ověřit zvlášť | Jiná architektura; samotné PE32+ neznamená AMD64/x64 |
Jde o limity adresního prostoru, nikoli slib, že klient zvládne přidělit jediný souvislý blok 4 GB, využít veškerou RAM nebo se vyhnout každému selhání alokace. I nativní soubor x64 s vypnutým LAA má další omezení. Jeho efektivní limit tedy neurčujte jen podle označení „64bitový“.
Ani 32 GB fyzické RAM naopak neodstraní strop adresního prostoru procesu x86. Jeho zvýšení pomůže jen potížím, které na něm skutečně závisejí. Poškozený prostředek hry, neplatný ukazatel nebo nekompatibilní modul potřebují vlastní diagnostiku.
Proč na rozdílu záleží při vývoji Metin2
V diskusi Turkmmo z května 2026 autor jmenuje základ MartySama v5.8 a uvádí, že 64bitové sestavení serveru pro něj bylo snazší než port klienta. Odpovědi řeší údržbu distribucí x86 i x64 a zachování kompatibility paketů. Jsou to zprávy o jeho zdrojové sadě, nikoli otestovaný migrační postup pro jiný server.
Další nejasnost ukazuje nezávislá diskuse na Redditu o linuxovém serveru a klientu x64: na otázku, zda klienta portoval sám, autor odpovídá, že jej získal od někoho jiného. Screenshot ani informace o portu serveru neurčují původ, revizi a architekturu všech součástí.
Devlog EterNext z 1. dubna 2026 oznamuje nativní 64bitový klient tohoto konkrétního projektu. Jeho současný spustitelný soubor jsme neprověřovali a výkonnostní tvrzení nereprodukovali. Datované sdělení provozovatele vztahujte k danému projektu; před přenesením závěru na jiného klienta ověřte skutečné sestavení.
Zkontrolujte herní EXE bez jeho změny
Nejdřív určete soubor, který skutečně spouští hru. Patcher, updater a konfigurace mohou být samostatná EXE s různou architekturou. Použijte dokumentaci provozovatele nebo název herního procesu ve Správci úloh. Nepředpokládejte stejný název souboru u každého privátního klienta.
Specifikace PE/COFF Microsoftu definuje pole Machine, formát volitelné hlavičky a příznak IMAGE_FILE_LARGE_ADDRESS_AWARE. Následující čtečka pro Python 3 používá jen standardní knihovnu a otevírá vybraný soubor v binárním režimu pro čtení. Uložte ji jako pe_info.py a spusťte python pe_info.py client.exe; poslední název nahraďte skutečným souborem hry, který jste určili.
import json
import struct
import sys
def inspect_pe(path):
with open(path, "rb") as f:
size = f.seek(0, 2)
f.seek(0)
dos = f.read(64)
if len(dos) != 64 or dos[:2] != b"MZ":
raise ValueError("Missing DOS header")
offset = struct.unpack_from("<I", dos, 0x3C)[0]
if offset < 64 or offset + 26 > size:
raise ValueError("PE offset outside file")
f.seek(offset)
header = f.read(24)
if header[:4] != b"PE\0\0":
raise ValueError("Missing PE signature")
machine = struct.unpack_from("<H", header, 4)[0]
optional_size, flags = struct.unpack_from("<HH", header, 20)
if optional_size < 2 or offset + 24 + optional_size > size:
raise ValueError("Truncated optional header")
magic = struct.unpack("<H", f.read(2))[0]
expected = {0x014C: 0x010B, 0x8664: 0x020B, 0xAA64: 0x020B}
if machine not in expected or magic != expected[machine]:
raise ValueError("Unsupported or inconsistent Machine/Magic")
return {
"Machine": f"0x{machine:04X}",
"Format": "PE32" if magic == 0x010B else "PE32+",
"LAA": bool(flags & 0x0020),
}
if __name__ == "__main__":
if len(sys.argv) != 2:
raise SystemExit("Usage: python pe_info.py client.exe")
print(json.dumps(inspect_pe(sys.argv[1]), indent=2))
Údaje vyhodnocujte společně. Machine:0x014C, Format:PE32, LAA:true znamená obraz x86 označený jako large-address-aware, nikoli nativní x64. Machine:0x8664 spolu s PE32+ označuje AMD64; 0xAA64 označuje ARM64. Názvy vycházejí ze specifikace Microsoftu, nikoli z názvu souboru.
Čtečka kontroluje signatury DOS/PE, hranice hlaviček a tři podporované dvojice Machine/Magic. Je to malý inspektor metadat, nikoli úplný validátor pro načítání PE, ověřovač digitálního podpisu nebo posouzení bezpečnosti spuštění souboru. Nepodporovaná či nekonzistentní hlavička je důvod výstup dál neinterpretovat, ne pokyn EXE opravovat. Skript nepřepisuje hlavičky a kontrolovaný soubor nespouští.
Nativní x64 potřebuje víc než přepnutí hlavičky
Dokumentace Microsoftu k portování her jmenuje zkracování ukazatelů, zarovnání, uložené binární struktury a externí knihovny jako oblasti migrace. Běžné nativní DLL načítané přímo do procesu musí odpovídat jeho architektuře. Přejmenování nezmění knihovnu x86 na závislost pro x64.
V konkrétním stromu zdrojového kódu Metin2 prověřte ukládání ukazatelů či délek do užších číselných typů, rozhraní Pythonu a nativní části, dekodéry prostředků a knihovny používané danou revizí. Potom sestavte odpovídající závislosti. Přesná práce závisí na projektu; tento seznam není instalační patch pro neurčený source pack.
Výsledky architektury a výkonu posuzujte zvlášť. Porovnávejte stejnou revizi klienta, prostředky, scénu a nastavení a zaznamenávejte podmínky paměťových selhání i časy snímků. Microsoft doporučuje po portu nové profilování. Pro tento článek jsme nárůst FPS klienta Metin2 x64 neměřili.
Musí být také server 64bitový?
Síť přenáší bajty, nikoli označení CPU klienta. Klient s 32bitovou architekturou a 64bitový server spolu mohou komunikovat, pokud jejich skutečný protokol zůstane kompatibilní. Pro potvrzení konkrétní dvojice Metin2 jsou potřeba její definice paketů a testy. Shodný název serveru ani úspěšný překlad kódu kompatibilitu nepotvrzují.
Následuje názorný příklad formátu bajtů, nikoli definice paketu Metin2:
import struct
for fmt in ("<BI", "<BQ"):
packet = struct.pack(fmt, 1, 1000)
print(fmt, len(packet), packet.hex())
Výstup je <BI 5 01e8030000 a <BQ 9 01e803000000000000. Podle dokumentace Python struct určuje < little-endian, standardní velikosti a absenci zarovnávacích mezer; I zabírá 4 bajty a Q 8. Pouhé rozšíření tohoto pole změní zprávu z 5 na 9 bajtů. Přijímač očekávající původní strukturu potřebuje dohodnutou změnu protokolu, ne předpoklad, že vše opraví nová architektura CPU.
Stejnou kontrolu potřebují uložená binární data a formáty prostředků. Zachovejte explicitní smlouvu dat přenášených sítí nebo ukládaných do souborů, případně změnu záměrně verzujte a testujte obě strany. Nenahrazujte mechanicky každé 32bitové celé číslo typem podle velikosti ukazatele: herní ID, čítače, délky a ukazatele mají různý účel.
Co kontrola prokáže hráčům a provozovatelům
Hráči hlavička odliší architekturu zadaného souboru od označení launcheru nebo požadavku na Windows. Používejte podporovanou distribuci serveru a od provozovatele si vyžádejte přesné herní sestavení, které obsahuje. Výsledek neověřuje přihlášení, vstup do světa, stabilitu ani kompatibilitu s ochranou daného serveru.
Provozovatelům se při auditu zdrojů a závislostí, které vlastní nebo mají právo používat, hodí zachovat známé funkční sestavení. Veřejně čitelný kód, odkaz ke stažení a open-source licence jsou různé skutečnosti. Tento článek nedoporučuje neověřený source pack jako připraveného 64bitového klienta.
Čtečku jsme spustili nad čtyřmi syntetickými vzorky hlaviček a dvěma existujícími spustitelnými soubory Windows. Kontrola potvrdila, že se jejich bajty nezměnily. Deset neúplných či nekonzistentních vzorků bylo odmítnuto. Příklad serializovaných bajtů také vrátil doložených 5 a 9 bajtů. Testy ověřují příklady; žádný klient Metin2 nebyl sestaven, upraven ani spuštěn a žádný výsledek herního výkonu netvrdíme.
U jiného projektu začněte jeho aktuálním sestavením a požadavky; příslušný profil pomůže najít adresář Metin2 privátních serverů. Pokud klient selhává při inicializaci grafiky, jiný příznak řeší samostatný návod k No Appropriate Device.
Zdroje
- Microsoft: LAA a adresní prostor 4 GB, paměťové limity vydání Windows, formát PE/COFF, portování her na 64 bitů.
- Python: standardní binární formáty a zarovnání.
- Turkmmo: migrační otázka s pojmenovaným základem a Reddit: odpovědi autora k původu klienta.
- EterNext: vlastní oznámení migrace.
Zdroje prověřeny 5. listopadu 2026. Zdrojové výroky, metadata spustitelného souboru a skutečně vyzkoušené hraní zůstávají různými důkazy.
Často Kladené Otázky
Změní 4GB patch klienta Metin2 na 64bitový?
Dokazují 64bitové Windows také 64bitového herního klienta?
Může klient x86 komunikovat se serverem x64?
Související Stránky
Najdi svůj perfektní server
Procházej nejlépe hodnocené Metin2 privátní servery na METIN2.GG nebo přidej svůj vlastní server do žebříčku.

