
A portable wiki template for private Metin2 server administrators
Host a searchable catalogue of items, monsters, drops, refinements, quests, pets and mounts in a static HTTP(S) directory. This M2City edition uses plain HTML, CSS, JavaScript modules and local JSON. Serving the prebuilt files needs no Node/npm, database, paid API or game process. It is a new static edition of the supplied Lehel wiki concept, not a claim that the original React stack was upgraded.
Navigation and interface fixes
The supplied React detail screens depended on in-memory navigation data, and nested routes used relative asset URLs. This edition stores category and record identity in hash URLs and resolves files relative to the application. Details survive refresh, subdirectory hosting and browser navigation. Back to category preserves search, sorting and page. Search runs across the whole category by name or VNUM before pagination; numeric VNUM/level sorting and text name sorting are separate. Clear resets filters. Failed catalogue requests show an explicit retry. Keyboard access and a 390px layout were checked, including a repaired skip link and mobile filter sizing. Revision r1.1 keeps item references separate from mob VNUMs: drop/material/reward links can only target known item records, even when a monster has the same number.
Contents and honest sample-data limits
There are 13 catalogues with 794 legacy records and 1,211 supplied PNG icons. Every icon was decoded. Prebuilt thumbnails are lossless WebP of a maximum 96x96 canvas, preserving alpha and source aspect ratio; original icon bytes remain in assets/images/icons. The exact icon index maps only actual numeric filenames. Missing artwork gets a placeholder instead of a guessed neighbouring VNUM or repeated broken image request.
The JSON files retain their supplied bytes. Some names are corrupted and pets/mounts include placeholder names; obvious unrecoverable or placeholder names are flagged, not guessed. Item icons are never assigned to monsters merely because numeric VNUMs match. The legacy values are not authoritative for your server: replace names, drops, prices, rewards, refinement data and units with verified exports from your own branch. Quests have no VNUM in this copy; their q-... catalogue references are navigation hashes, never invented game IDs. The demo deliberately uses noindex,nofollow so this sample data is not presented as a live server wiki in search results.
Installation and validation
Extract the download into a static HTTP(S) folder and open index.html. file:// is unsuitable for JavaScript modules/JSON fetch; do not disable browser security. Configure the title and community link in config.json. README.txt explains replacing data and regenerating metadata using the included Python builder with an existing Pillow environment. The prebuilt viewer itself has no Python dependency. Keep credentials out of these public static files.
The ZIP was freshly extracted and validate_release.py checked every indexed file hash, category count, stable identity, item-only cross-reference and exact image reference. Six focused Node checks passed for routes, identities, search/paging, numeric sorting, placeholder handling, URL validation and mob/item icon separation. Real Opera checks covered all categories, search/empty results, sorting, pagination, detail reload/back, sample refinement/drop/reward/bonus displays, keyboard navigation and desktop/mobile layout. No game build, balancing, proto converter or live-server data was tested. The supplied legacy converter and raw server-export fixtures are excluded from this web-only release.
Credits and rights
Lehel is credited by the original supplied footer. A matching public wiki-family repost is linked as context; the exact upstream revision and a blanket open-source licence were not established. Public redistribution was explicitly confirmed by the owner. Original data/artwork authors retain their rights; preserve their notices. M2City authored this static viewer, fixes, thumbnail index and release validator. See ORIGIN.txt and validation-report.json for the exact scope.
Open the labelled live demo
Editorial resource — M2City
Version: Lehel supplied legacy sample, exact upstream revision unspecified; M2City static edition r1.1, 5 November 2026
Rights: Public redistribution explicitly confirmed by owner. Preserve Lehel credit and original data/artwork rights; no blanket open-source licence assigned.
Validation: All release hashes and 13 JSON catalogues validated after ZIP extraction; 1,211 PNG icons decoded and WebP pixels verified. Five Node checks and real Opera category/search/page/detail/reload/mobile tests. No game base, balancing or legacy converter test.
Source: Lehel wiki supplied archive; matching public-family repost for attribution context
SHA-256: 9df71c382ea35ed945636b62c72a75090bf1df6a86aaf0c44ad544c6ac19c0ee