Atmospheric launcher and website for the "Mafia II Online" RP project
This repository contains the code for a custom launcher built with Electron and a simple backend website for it. The launcher was developed from scratch in the style of Mafia II and includes all the necessary functionality for an RP project.
- Dynamic News: The launcher loads news and version lists directly from the connected website (
/site/api/news.json). - Version Check: Automatically compares the local game version with the latest version on the server and prompts to "Update".
- Game "Installation": Includes installation logic: folder selection, "downloading" with a progress bar, and saving the path.
- Settings Panel:
- Change game path.
- Checkbox "Close launcher on game start".
- Field for custom launch parameters (e.g.,
-windowed). - Full settings reset with a reload.
- Custom Design: The entire interface, including the window frame, buttons (minimize, close), and scrollbar, is styled to match the Mafia II atmosphere.
- Electron: To create a desktop application using web technologies.
- Node.js (fs, path, net): For working with the file system (saving settings) and network (loading news).
- HTML5 / CSS3 / JavaScript: For the entire interface and logic.
The project is divided into two parts: /launcher (the application itself) and /site (the website for news).
The site is static, but to load news.json via http:// (instead of file://), it needs to be served through a local server.
- Install
serve(if you don't have it):npm install -g serve
- Run the server from the project root folder:
After this, the site will be available at
serve
http://localhost:3000(or similar), and the news API athttp://localhost:3000/site/api/news.json.
- Navigate to the launcher directory:
cd launcher - Install dependencies:
npm install
- Run the launcher in development mode:
npm start
The project uses Electron Forge to automatically build the application into an .exe installer.
-
Icon: Ensure the
icon.icofile is present in the/launcherdirectory. It will be automatically used for the.exefile and the installer (configuration is already inpackage.json). -
Run the command in the terminal (in the
/launcherdirectory):npm run make
-
The finished installer will be located in the folder:
/launcher/out/make/nsis/x64/
![]() News Feed |
![]() Version Check |
![]() Progress Bar |
![]() Settings |
![]() Home Page |
![]() Community (Dossier & Gallery) |
![]() Rules |
![]() How to Start |
![]() News Feed (Website) |
- Discord:
m.levro - Telegram:
t.me/xwkwx









