Table of Contents

Class InstallationConstants

Namespace
FishMMO.Installer
Assembly
FishMMO-Installer.dll

Contains constants for installation URLs, filenames, default configuration values, and EF Core project paths for FishMMO dependencies.

public static class InstallationConstants
Inheritance
InstallationConstants
Inherited Members

Fields

AppHealthMonitorSystemdServiceName

Systemd service name for the AppHealthMonitor process supervisor daemon.

public const string AppHealthMonitorSystemdServiceName = "fishmmo-apphealthmonitor"

Field Value

string

AppHealthMonitorWindowsServiceName

public const string AppHealthMonitorWindowsServiceName = "FishMMO-AppHealthMonitor"

Field Value

string

AspNetRuntimeLinuxVersion

ASP.NET Core runtime version string used for Linux installation via dotnet-install.sh --runtime aspnetcore --version {version}.

public const string AspNetRuntimeLinuxVersion = "8.0.16"

Field Value

string

AspNetRuntimeMajorVersion

ASP.NET Core runtime major version to install (e.g. "8.0").

public const string AspNetRuntimeMajorVersion = "8.0"

Field Value

string

AspNetRuntimeWindowsFileName

Filename for the downloaded ASP.NET Core Windows Hosting Bundle installer.

public const string AspNetRuntimeWindowsFileName = "dotnet-hosting-8.0.16-win.exe"

Field Value

string

AspNetRuntimeWindowsUrl

Download URL for the ASP.NET Core 8 Runtime Windows installer (x64 Hosting Bundle). Includes Kestrel runtime, IIS module, and the ASP.NET Core shared framework.

public const string AspNetRuntimeWindowsUrl = "https://download.visualstudio.microsoft.com/download/pr/751d3fe9-0a4e-4cb7-aa28-b4d3b55f2df2/2de0e4eea90cc10c26df6b0bec0748fa/dotnet-hosting-8.0.16-win.exe"

Field Value

string

DotNetEFVersion

DotNet Entity Framework tool version to install.

public const string DotNetEFVersion = "5.0.17"

Field Value

string

DotNetInstallScriptFileName

Filename for the downloaded DotNet install shell script.

public const string DotNetInstallScriptFileName = "dotnet-install.sh"

Field Value

string

DotNetInstallScriptUrl

URL for the DotNet install shell script, used to install the ASP.NET Core runtime on Linux via the --runtime aspnetcore flag.

public const string DotNetInstallScriptUrl = "https://dot.net/v1/dotnet-install.sh"

Field Value

string

DotNetRuntimeChannel

.NET release metadata channel for dynamic runtime URL resolution (e.g. "8.0").

public const string DotNetRuntimeChannel = "8.0"

Field Value

string

DotNetSDKMajorVersion

DotNet SDK major version for compatibility checks.

public const string DotNetSDKMajorVersion = "8.0"

Field Value

string

FishMMOMonorepoRoot

Root path of the FishMMO monorepo workspace. Walks up from the executing assembly until it finds a directory containing both FishMMO-Unity and FishMMO-Setup subdirectories (monorepo signature). Falls back to ~/Dev/FishMMO-Dev if the root cannot be auto-detected.

public static readonly string FishMMOMonorepoRoot

Field Value

string

FishMMOServiceNamePrefix

Service-name prefix applied to all FishMMO-managed systemd units.

public const string FishMMOServiceNamePrefix = "fishmmo-"

Field Value

string

FishMMOSetupDevelopmentPath

FishMMO-Setup/Development directory (Development environment overlay assets).

public static readonly string FishMMOSetupDevelopmentPath

Field Value

string

FishMMOSetupPath

Path to the FishMMO-Setup directory containing canonical nginx.conf, .cfg files, and environment overlays.

public static readonly string FishMMOSetupPath

Field Value

string

FishMMOSetupReleasePath

FishMMO-Setup/Release directory (Release/Production environment overlay assets).

public static readonly string FishMMOSetupReleasePath

Field Value

string

FishMMOUnityProjectPath

Absolute path to the FishMMO-Unity project root (contains Assets/, ProjectSettings/, Packages/).

public static readonly string FishMMOUnityProjectPath

Field Value

string

IpFetchWindowsServiceName

Windows service names for FishMMO web servers managed by NSSM.

public const string IpFetchWindowsServiceName = "FishMMO-IpFetch"

Field Value

string

LinuxCertbotWebRoot

Default web root for ACME HTTP-01 challenges in Linux deployments.

public const string LinuxCertbotWebRoot = "/var/www/certbot"

Field Value

string

LinuxFishMMOWebServersPath

Default FishMMO web servers directory path used for operational context prompts.

public static readonly string LinuxFishMMOWebServersPath

Field Value

string

Remarks

MUST come after FishMMOMonorepoRoot — static init order matters.

LinuxNginxConfigurationPath

Default nginx.conf path used in Linux setup automation.

public static readonly string LinuxNginxConfigurationPath

Field Value

string

Remarks

MUST come after FishMMOSetupPath — static init order matters.

LinuxSystemdUnitDirectory

Linux directory where generated systemd service unit files are placed.

public const string LinuxSystemdUnitDirectory = "/etc/systemd/system"

Field Value

string

MigrationsOutputDirectory

Absolute path to the shared EF Core Migrations directory at the monorepo root. Migrations live here rather than inside the FishMMO-DB project so they survive clean builds, database drops, and Installer rebuilds without stashing/restoring.

public static readonly string MigrationsOutputDirectory

Field Value

string

Remarks

MUST come after FishMMOMonorepoRoot — static init order matters.

NGINXWindowsDownloadUrl

Download URL for the NGINX Windows zip archive.

public const string NGINXWindowsDownloadUrl = "https://github.com/nginx/nginx/releases/download/release-1.29.5/nginx-1.29.5.zip"

Field Value

string

NGINXWindowsExtractPath

Default extraction path for NGINX on Windows.

public const string NGINXWindowsExtractPath = "C:\\nginx"

Field Value

string

NGINXWindowsFileName

Filename for the downloaded NGINX Windows zip archive.

public const string NGINXWindowsFileName = "nginx-1.29.5.zip"

Field Value

string

NGINXWindowsServiceName

Windows service name used for the NGINX service instance managed by this installer.

public const string NGINXWindowsServiceName = "FishMMO-NGINX"

Field Value

string

NssmDownloadUrl

Download URL for the NSSM zip archive used to run NGINX as a proper Windows service.

public const string NssmDownloadUrl = "https://nssm.cc/release/nssm-2.24.zip"

Field Value

string

NssmFileName

Filename for the downloaded NSSM zip archive.

public const string NssmFileName = "nssm-2.24.zip"

Field Value

string

PatcherWindowsServiceName

public const string PatcherWindowsServiceName = "FishMMO-Patcher"

Field Value

string

PgBouncerAuthUser

Dedicated auth lookup role for PgBouncer's auth_query function. Not yet wired into config generation; reserved for future use.

public const string PgBouncerAuthUser = "fishmmo_pgb_auth"

Field Value

string

PgBouncerDefaultPort

Default PgBouncer listen port.

public const string PgBouncerDefaultPort = "6432"

Field Value

string

PgBouncerLinuxConfigDirectory

Linux configuration directory for PgBouncer.

public const string PgBouncerLinuxConfigDirectory = "/etc/pgbouncer"

Field Value

string

PgBouncerLinuxIniPath

Linux pgbouncer.ini path.

public const string PgBouncerLinuxIniPath = "/etc/pgbouncer/pgbouncer.ini"

Field Value

string

PgBouncerLinuxServiceName

Default Linux systemd service name for PgBouncer.

public const string PgBouncerLinuxServiceName = "pgbouncer"

Field Value

string

PgBouncerLinuxUserlistPath

Linux userlist.txt path.

public const string PgBouncerLinuxUserlistPath = "/etc/pgbouncer/userlist.txt"

Field Value

string

PostgreSQLDefaultAdminDb

Default PostgreSQL administrative database name.

public const string PostgreSQLDefaultAdminDb = "postgres"

Field Value

string

PostgreSQLDefaultSuperuser

Default PostgreSQL superuser account name.

public const string PostgreSQLDefaultSuperuser = "postgres"

Field Value

string

PostgreSQLWindowsInstallerFileName

Filename for the downloaded PostgreSQL Windows installer.

public const string PostgreSQLWindowsInstallerFileName = "PostgreSQLInstaller.exe"

Field Value

string

PostgreSQLWindowsInstallerUrl

Download URL for the PostgreSQL Windows installer.

public const string PostgreSQLWindowsInstallerUrl = "https://sbp.enterprisedb.com/getfile.jsp?fileid=1259105"

Field Value

string

ProjectPath

Relative path to the FishMMO-DB EF Core project file for migrations. Resolved against BaseDirectory at runtime by RunEFMigrationAsync(string).

public static readonly string ProjectPath

Field Value

string

StartupProject

Relative path to the FishMMO-DB-Migrator startup project for EF Core commands. Resolved against BaseDirectory at runtime by RunEFDatabaseUpdateAsync(string?).

public static readonly string StartupProject

Field Value

string

UnityAvailableModules

Available Unity modules that can be installed alongside the editor. Each entry is a (moduleId, displayName) tuple for the Unity Hub CLI.

public static readonly (string moduleId, string displayName)[] UnityAvailableModules

Field Value

(string moduleId, string displayName)[]

UnityBuildAddressablesMethod

Fully-qualified Unity -executeMethod target for an Addressables-only build.

public const string UnityBuildAddressablesMethod = "FishMMO.Shared.CustomBuildTool.Core.CustomBuildTool.BuildAddressablesCLI"

Field Value

string

UnityBuildClientMethod

Fully-qualified Unity -executeMethod target for a client player build.

public const string UnityBuildClientMethod = "FishMMO.Shared.CustomBuildTool.Core.CustomBuildTool.BuildClientCLI"

Field Value

string

UnityBuildClientWithAddressablesMethod

Fully-qualified Unity -executeMethod target for a Client + Addressables combined build.

public const string UnityBuildClientWithAddressablesMethod = "FishMMO.Shared.CustomBuildTool.Core.CustomBuildTool.BuildClientWithAddressablesCLI"

Field Value

string

UnityBuildServerMethod

Fully-qualified Unity -executeMethod target for a server player build.

public const string UnityBuildServerMethod = "FishMMO.Shared.CustomBuildTool.Core.CustomBuildTool.BuildServerCLI"

Field Value

string

UnityBuildServerWithAddressablesMethod

Fully-qualified Unity -executeMethod target for a Server + Addressables combined build.

public const string UnityBuildServerWithAddressablesMethod = "FishMMO.Shared.CustomBuildTool.Core.CustomBuildTool.BuildServerWithAddressablesCLI"

Field Value

string

UnityDefaultModules

Default module identifiers to install when the user accepts defaults.

public static readonly string[] UnityDefaultModules

Field Value

string[]

UnityDefaultVersion

Default Unity Editor version to install.

public const string UnityDefaultVersion = "6000.4.10f1"

Field Value

string

UnityHubWindowsDownloadUrl

Download URL for the Unity Hub Windows installer.

public const string UnityHubWindowsDownloadUrl = "https://public-cdn.cloud.unity3d.com/hub/prod/UnityHubSetup.exe"

Field Value

string

UnityHubWindowsFileName

Filename for the downloaded Unity Hub Windows installer.

public const string UnityHubWindowsFileName = "UnityHubSetup.exe"

Field Value

string

UnityLinuxEditorRoot

Default Linux install root for Unity Hub-managed editors. Combined with version + Editor/Unity.

public static readonly string UnityLinuxEditorRoot

Field Value

string

UnityWindowsEditorRoot

Default Windows install root for Unity Hub-managed editors. Combined with version + Editor\Unity.exe.

public static readonly string UnityWindowsEditorRoot

Field Value

string

VSBuildToolsFileName

Filename for the downloaded Visual Studio Build Tools bootstrapper.

public const string VSBuildToolsFileName = "vs_buildtools.exe"

Field Value

string

VSBuildToolsUrl

Download URL for the Visual Studio Build Tools bootstrapper.

public const string VSBuildToolsUrl = "https://aka.ms/vs/17/release/vs_buildtools.exe"

Field Value

string

WebGLWindowsServiceName

public const string WebGLWindowsServiceName = "FishMMO-WebGL"

Field Value

string

WinAcmeDownloadUrl

Download URL for the win-acme client (Windows Let's Encrypt automation).

public const string WinAcmeDownloadUrl = "https://github.com/win-acme/win-acme/releases/download/v2.2.9.1701/win-acme.v2.2.9.1701.x64.trimmed.zip"

Field Value

string

WinAcmeFileName

Filename for the downloaded win-acme zip archive.

public const string WinAcmeFileName = "win-acme.v2.2.9.1701.x64.trimmed.zip"

Field Value

string