SashegDev
b864e17921
feat: 1.1.1.4 GUI bootstrap-Inno installer + standalone offline
...
- Installer.java: Swing dark Bootstrap (bg 0c0c12, accent e94560) Inno wizard (sidebar steps, Welcome->Dir->Progress->Finish), JRE + meta download via /launcher/file, offline via embedded /offline.zip + appended ZIP + adjacent fallback, shortcut/uninstall
- pom: hotfix 4, launch4j 2 exe ZernMC-Online/Offline-Setup-1.1.1.4.exe (icon, versionInfo, header gui, jar shaded), offline.zip resource
- server/main.py: Content-Disposition attachment filename for online/offline, BUILDS_DIR absolute
- Builds: Online 6.3M (downloads), Offline 103M (standalone embedded 98M zip), both signed, site headers fixed
2026-09-01 14:14:30 +00:00
SashegDev
1900db3caf
fix: 1.1.1.3 online installer 5.8M + mods toggle + ZGC vs G1GC conflict
...
- server/main.py BUILDS_DIR absolute + /launcher/download/online,offine-setup
- site index/js online->/download/online 5.8M
- LaunchCommandBuilder skip G1GC when systemBasedJvm (ZGC conflict -> Bootstrap crash)
- JFXLauncher toggle robust rename + FileAlreadyExists fix
2026-09-01 13:51:30 +00:00
SashegDev
5944c7b1b6
site: switch git widget branch ui -> main ( 19a1633) for main merge
2026-09-01 06:49:40 +00:00
SashegDev
75738ae127
site: remove GitHub mirror button from git widget, keep only Gitea (languages fetch now Gitea-only)
2026-09-01 06:40:20 +00:00
SashegDev
5985887fb8
site: add GitHub-like language bar (Java 49.4% Python 25.4% JS 12.7% CSS 7.3% HTML 3.5% Go 1.7% — 32k loc) + live fetch from GitHub/Gitea API
2026-09-01 06:39:06 +00:00
SashegDev
8d5bcca1d5
site: add launcher git widget (Gitea sasheg/launcher ui/bcd10cc v1.1.1.2 + GitHub mirror, clone cmd)
2026-09-01 06:36:05 +00:00
SashegDev
bcd10cce06
feat: 1.1.1.2 hybrid Go installer (online 5.8M/offline 98M, выбор C:\ZernMC + ярлык ZernMC Launcher.lnk, uninstall.exe, DataDir ~/.zernmc) — hollow-ромбы, custom-сборки, моды с правами, ПКМ без Reload, sticky Играть, онбординг Config persist + /launcher/download/jre
2026-09-01 06:35:28 +00:00
SashegDev
592de204b6
site: unify section indices, show current lang, smarter highlight carousel
...
- Section badges are now consistently 'N / 07' everywhere (was mixing 06/07)
and get a localized title tooltip explaining 'Section N of 7'.
- Language toggle now shows the CURRENT language (RU/EN) instead of the
next one, so the state is obvious before clicking.
- Carousel: manual navigation (arrows/dots) holds the slide 22s before
resuming, idle auto-advance returns to 6.5s; video slides no longer loop
and only advance when playback actually ends.
2026-09-01 06:35:28 +00:00
SashegDev
9cfd743e36
site: add launcher showcase — auto-rotating non-interactive UI tour
2026-08-20 09:41:38 +00:00
SashegDev
3755411954
site: add RU/EN language toggle with full i18n on landing
2026-08-20 09:31:16 +00:00
SashegDev
aaecf7e395
site: add server section, highlights carousel, OBT/Season content
...
- server status cards (online/players/version) via /api/status mcstatus ping
- highlights carousel ported from old site (/highlights/ static media)
- OBT (war in Zarya, open beta event server) + Season (Prologue, Create:
Aeronautics, year-long) sections
- nav updated, sections renumbered 01-06
2026-08-20 09:15:14 +00:00
SashegDev
1aefca32f2
site: dawn.gg-style landing at root + port /skin/* for TG bot
...
- serve new launcher landing site (zern.cc root -> launcher server 1582)
- static assets mounted at /css /js /img
- port GET/HEAD /skin/{filename} from old site with identical headers
- exempt /skin/* + site assets from rate-limit and cache middleware
- Caddy: root domains -> 1582, old site preserved at legacy.zernmc.*
2026-08-20 08:26:00 +00:00
SashegDev
a2073044e9
v1.0.16.13 — TSPU/SNI-obkhod: domain selection at login + dynamic mirrors
...
- add DomainSelector: probe every API candidate at launcher startup, pick
fastest reachable (primary api.zern.cc, legacy .ru/.online, geo pl/swe);
integrate into CLI start and JFX network init
- Config.setServerUrl() + persist chosen domain in launcher.properties
- ZHttpClient: default BASE_URL and ZERN_SERVER health-check follow the
selected domain (runtime failover instead of hardcoded api.zernmc.ru)
- server: LAUNCHER_MIRRORS main=api.zern.cc (primary), legacy .ru/.online,
geo-pl api.pl.zern.cc, geo-swe api.swe.zern.cc; /launcher/mirrors exposes them
- diag: check all TLD+geo API hosts (api.{pl,ru,swe}.zern.cc, .ru, .online)
for DNS/TCP/HTTP, known server IPs for all 4 geo nodes
- reverse-proxy geo boxes (pl, swe) -> main:1582 so clients bypass TSPU via
an unblocked SNI; ru left as-is (VLESS VPN box, not proxying API)
2026-08-18 22:19:55 +00:00
SashegDev
a815d685d3
v1.0.16.2 — fix NeoForge/Forge install (bundled JRE for installers, visible progress in JFX UI, skip existing vanilla files), hide zernmc-cli.exe from users
2026-08-15 07:29:43 +00:00
SashegDev
21cd30c1c3
v1.0.16.0 — fix Zern-OBT asset index (1.20.1->5), JavaFX 23->23.0.1 (WebKit WebSocket fix), drop embedded JavaFX from jar (scope=provided), deliver JavaFX 23.0.1 via incremental update, JFXBridge for safe CLI fallback
2026-08-14 07:29:23 +00:00
SashegDev
77fd97ad24
v1.0.15.3 — non-blocking logger (fix install freeze), URL-encode pack file paths, news ordering by mtime
2026-08-13 19:56:42 +00:00
SashegDev
f857d91e4d
v1.0.15.1 — fix server re-extract of launcher zips; correct Forge launch command (-cp per version.json)
2026-08-13 09:33:44 +00:00
SashegDev
7881ee64b0
fix: add missing Mojang CDN domains (piston-data, libraries.minecraft.net, maven repos) to proxy allow list, increase proxy timeout to 300s
2026-07-30 15:36:06 +00:00
SashegDev
f180663cef
v1.0.13.1 — pack download stability, proxy for MC/Forge downloads, build.version priority
2026-07-30 14:31:13 +00:00
SashegDev
48fd1d2d82
fix: preserve username case in register/login validators
2026-07-30 13:03:48 +00:00
SashegDev
cebe90d5f6
feat: auto-detect new ZIP archives in builds/ + fix exe download path
2026-07-30 11:29:45 +00:00
SashegDev
de0dbab4c8
fix: support 4-part Windows version in version comparison
2026-07-30 11:12:08 +00:00
SashegDev
fc55882d59
ForgeFix и новые фичи в интерфейсе
2026-07-13 13:16:51 +00:00
SashegDev
8d8fe0e99c
DevBlog №4 | массовый фикс JFX и фиксы связанные с самим лаунчером, добавление админ меню
2026-07-01 19:36:52 +00:00
SashegDev
6063743cb4
fix: автодетект --cli в Bootstrap, отображение локальных сборок в JFX, обработка ошибок установки и друзей
2026-06-30 13:44:26 +00:00
SashegDev
1ac663d6c0
fix: критичные баги — отсутствие auth на pack файлах, сломанный proxy fallback, race condition installInProgress, JSON парсинг, падение loadMetadata
2026-06-30 10:58:24 +00:00
SashegDev
d93fac3e7e
minor fixes
2026-06-07 16:36:50 +03:00
SashegDev
c041881776
иним чиним чиним чиним а так же новая система друзей и бутстраппера
2026-06-07 12:32:34 +00:00
SashegDev
8acf4e5f1f
попытка оптимизации и ДЖЛЫВОСШФРСЖДЛВОФЖДЛОВСМДЖЛФ ИНТЕРФЕЙС ФИКСЕСССС БЛЯЯЯ
2026-05-10 01:24:47 +00:00
SashegDev
c5ee482308
Launcher UI redesign + server mirror sync + file download optimization
2026-05-09 23:47:04 +00:00
SashegDev
fac4cfabf1
Server: generate meta.json for builds/ on startup for incremental updates
2026-05-08 18:51:15 +00:00
SashegDev
737b048b31
Bootstrap: incremental update via meta, server: fix file endpoint paths
2026-05-08 18:45:42 +00:00
SashegDev
e105f73d4e
Debug: log server version response
2026-05-08 15:45:23 +00:00
SashegDev
7ec41919a3
Fix: Fabric loader launch and Bootstrap paths
...
- Add Fabric support in LaunchCommandBuilder.findVersionJson()
- Fix Bootstrap to properly use bin/ directory for launcher JAR
- Fix server.py to accept both ZernMC-win-*.zip and ZernMCLauncher-*.zip
- Add debug output for version.json resolution
2026-05-08 11:04:45 +00:00
SashegDev
12c3be84ea
Fix: Multiple launcher issues
...
- Fix CLI arrow keys: remove 50ms timeout in escape sequence handling (ArrowMenu, LoginMenu)
- Add network logs polling to UI via /api/logs endpoint
- Display user role in launcher header (AuthManager, AuthService, JFXLauncher, UI)
- Capture and display game logs in launcher via /api/game-logs endpoint
- Fix demo mode bug in VersionManifest.ruleMatches() - was incorrectly adding --demo flag
- Fix modloader launch: pass proper auth info (accessToken, uuid) from AuthManager
- Add game log capture in MinecraftLib and LaunchService
2026-05-08 10:11:49 +00:00
SashegDev
4189df9163
Server: Add launcher version scanning on startup
...
- Scan versions/ directory and generate meta.json for each version
- Log progress: 'Scanning launcher versions...', 'Launcher meta ready: vX (Y files)'
- Meta cached in memory for faster access
2026-05-07 18:50:07 +00:00
SashegDev
4b055172b5
Server: Add launcher meta system for incremental updates
...
- Create versions/ folder structure for new format builds
- Generate meta.json with SHA256 hashes for each file
- Add endpoints:
- GET /launcher/meta - list all versions with meta
- GET /launcher/meta/{version} - meta for specific version
- POST /launcher/diff - get diff between local and server files
- GET /launcher/file/{version}/{path} - download individual file
- GET /launcher/download/zip/{version} - download full ZIP for new install
- Legacy builds (ZIP files) remain unchanged
2026-05-07 18:40:00 +00:00
SashegDev
abf667ebdb
Server: Default to 1 worker - better for file downloads
...
- Multiple workers cause contention and slow down large file downloads
- Single worker with async handles concurrent requests fine
2026-05-07 18:03:37 +00:00
SashegDev
07ca5c3668
Server: Reduce rate limit log spam - periodic summary only
...
- Instead of logging every rate limit warning, now logs summary every 60s
- Shows: IP_blocked=X, rate_limited=Y
2026-05-07 17:56:46 +00:00
SashegDev
566f9c13b3
Server: Add direct_passthrough for faster file serving
...
- FileResponse with direct_passthrough=True bypasses buffering
- Should improve file download speeds
2026-05-07 17:54:03 +00:00
SashegDev
3e85ff3a22
Server: Skip logging for file downloads
...
- Don't log every /pack/*/file/* request to reduce overhead
- Helps with large file downloads
2026-05-07 17:53:08 +00:00
SashegDev
3063153a97
Server: Fix /docs endpoint - allow openapi.json and swagger
...
- Remove openapi.json, swagger-ui, api/docs from suspicious paths
- Fix is_suspicious_path() to allow swagger/openapi patterns
2026-05-07 17:48:54 +00:00
SashegDev
805b55b85d
Server: Remove broken PID-based logging
...
- is_master() doesn't work with uvicorn workers
- Keeping clean logs from cache + disabled httpx debug
2026-05-07 17:46:42 +00:00
SashegDev
58603a3e6a
Server: PID-based logging - only master logs startup
...
- Only master PID logs blocklist loading, pack scanning, etc.
- Worker processes stay silent during startup
- Much cleaner logs
2026-05-07 17:45:36 +00:00
SashegDev
1241fbffcd
Server: Add file lock for blocklist loading
...
- Only one worker downloads blocklist
- Other workers wait and read from cache
- Prevents duplicate downloads on startup
2026-05-07 17:43:21 +00:00
SashegDev
87a55f1dd1
Server: Cache blocklist to file + disable httpx debug logs
...
- Blocklist now cached to data/blocklist_cache.txt
- Only downloads once, then reuses cache
- Disable httpx/httpcore debug logs to reduce noise
2026-05-07 17:42:15 +00:00
SashegDev
91533d76cc
Server: Fix blocklist loading - only once at startup
...
- Move public blocklist loading into lifespan (not on import)
- Avoids loading 8 times with 4 workers
- Cleaner startup logs
2026-05-07 17:40:32 +00:00
SashegDev
f2365f9bcc
Server: Auto-load public IP blocklists
...
- Load known bad IPs from FireHOL blocklists on startup
- ~4400 IPs blocked by default
- Set PUBLIC_BLOCKLIST=false to disable
- Combined with manual BLOCKED_IPS env var
2026-05-07 17:38:08 +00:00
SashegDev
c8a705249c
Server: Simplify IP filtering - only blacklist
...
- Remove whitelist (not needed for public launcher)
- Only BLOCKED_IPS env var supported now
2026-05-07 17:14:47 +00:00
SashegDev
094e40979e
Server: Add bot protection middleware
...
- Global rate limiting (60 requests/minute per IP)
- IP whitelist/blacklist via ALLOWED_IPS and BLOCKED_IPS env vars
- Bot detection - silent 404 for suspicious paths (.env, phpinfo, etc.)
- Path traversal detection
- Reduced noise in logs from bot scanners
2026-05-07 17:09:45 +00:00