Setup and Installation
Relevant source files
The following files were used as context for generating this wiki page:
WebLaunch automates the deployment and configuration of game environments and supporting tools. The system handles file distribution, registry modification, protocol registration, and component updates to ensure a consistent execution environment.
Protocol Handler Registration
The system registers a custom URI scheme to allow game launches directly from web browsers. It creates registry entries under Software\Classes\HandleWebRequest and associates the HandleReqLaunch protocol with the local application executable.
Sources: handlerlaunch/Program.cs:178-197
Installation and File Deployment
The application identifies a target installation directory and copies necessary binaries and libraries. It uses a default path at D:\HandleGame\ or derives a path based on the current executable location.
Component Deployment
The following table lists core components deployed during the setup process:
| File Name | Purpose |
|---|---|
WMConsole.exe | Main entry point and protocol handler target. |
CoreLibLaunchSupport.dll | Provides native process launching and ACL fixes. |
LibDalamud.dll | Manages third-party game integration and updates. |
DotNetZip.dll | Handles extraction of game assets and updates. |
Elgar'nan.dll | Core plugin system loader. |
Sources: handlerlaunch/Program.cs:98-176
Registry Configuration
The registryManipulation class manages game-specific settings in the Windows Registry under Software\The Chronicles of Spellborn.
- detectInstallation: Checks if
installPathexists. - updateKeyValue: Updates versions or paths.
- createkeys: Initializes the installation path if missing.
Sources: handlerlaunch/SupportObjects.cs:81-164
Dependency Management and Updates
WebLaunch maintains system integrity through automated updates for the application, game assets, and the Dalamud component.
Asset and Runtime Deployment
The DalamudUpdater and AssetManager ensure that the required .NET runtimes and game assets are present before execution.
Automated Game Patching
The SpellbornSupporter performs a startup routine that verifies the installation directory and fetches updates.json to synchronize the local version with the server.
- Check Version: Compares
installedVersionin registry withlatest.json. - Download: Fetches zip files if a mismatch occurs.
- Extract: Overwrites existing files using
Ionic.Zip. - Verify: Validates downloads via MD5 checksums.
Sources: handlerlaunch/SupportObjects.cs:222-264, handlerlaunch/SupportObjects.cs:290-305
Plugin System Initialization
The CoreFunctions class initializes the Plugins directory and loads game-specific logic modules. If enabled, it sets up a FileSystemWatcher to support hot-reloading of plugin DLLs during runtime.
- Directory Creation: Ensures the
Pluginsfolder exists in the installation path. - Validation: Checks plugin dependencies and minimum version requirements.
- Initialization: Calls
InitializeAsyncon each discoveredIGamePlugin.
Sources: El'GarnanPluginSystem/CoreFunctions.cs:82-114, El'GarnanPluginSystem/CoreFunctions.cs:157-190
Conclusion
Setup and installation involve registering protocol handlers for web integration, deploying a comprehensive set of library dependencies, and establishing a self-updating mechanism for game assets and runtimes. These systems work together to provide a seamless transition from a web-based interface to a fully configured local game environment.