Cross-platform launcher Minecraft (NeoForge 1.21.1)
Development of a user desktop application - a game launcher for Minecraft with automatic installation of modifications and the NeoForge core. The application automates the process of downloading the client, setting up the environment, and provides instant access to a specified multiplayer server (QuickPlay).
Implemented functionality and technical solutions:
Full automation: Scripts for silent downloading and installation of the NeoForge core, parsing configuration files of the core for dynamic formation of JVM arguments.
Working with the network and file system: Streaming download of large archives with mods from the cloud (bypassing timeouts and redirect chains), automatic unpacking into the game's working directory.
Cross-platform adaptation (Windows / macOS): Successfully implemented support for x64 and ARM architectures. Platform-dependent launch flags are isolated (integration of -XstartOnFirstThread exclusively for macOS) and issues with crashes of the graphics engine are resolved by disabling hardware acceleration in Electron.
Stability of the environment: Forced UTF-8 encoding is configured for correct operation with Cyrillic paths in Windows, preventing crashes when reading game libraries.
Build and distribution: Configuration of packaging processes for ready release installers (a single .exe file for Windows) through electron-builder.
Technology stack: TypeScript, Electron, Node.js, Axios, extract-zip, minecraft-launcher-core.
Implemented functionality and technical solutions:
Full automation: Scripts for silent downloading and installation of the NeoForge core, parsing configuration files of the core for dynamic formation of JVM arguments.
Working with the network and file system: Streaming download of large archives with mods from the cloud (bypassing timeouts and redirect chains), automatic unpacking into the game's working directory.
Cross-platform adaptation (Windows / macOS): Successfully implemented support for x64 and ARM architectures. Platform-dependent launch flags are isolated (integration of -XstartOnFirstThread exclusively for macOS) and issues with crashes of the graphics engine are resolved by disabling hardware acceleration in Electron.
Stability of the environment: Forced UTF-8 encoding is configured for correct operation with Cyrillic paths in Windows, preventing crashes when reading game libraries.
Build and distribution: Configuration of packaging processes for ready release installers (a single .exe file for Windows) through electron-builder.
Technology stack: TypeScript, Electron, Node.js, Axios, extract-zip, minecraft-launcher-core.