The Rewrite™️
- Discord bot removed, will return *eventually*
- Watchdog kills the server with a knife when it does not shut down in (default) 60 seconds
- New event system that works.. better.. and callbacks have types
- Removed a metric ton of circular dependencies that previously would not let the server start up
* This included splitting up some classes
- Other. internal stuff. I forgot.
This commit is contained in:
73
src/config/GalvanicConfiguration.ts
Normal file
73
src/config/GalvanicConfiguration.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
/* Galvanic Corrosion - Rec Room custom server for communities.
|
||||
<https://gitea.proxnet.dev/zombieb/galvanic-corrosion>
|
||||
Copyright (C) 2025 @zombieb (Discord / proxnet Gitea)
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
import type { PhotonRegionCodeNumber, PhotonRegionCodeString } from "../data/live/PhotonTypes.ts";
|
||||
|
||||
type RedisConfiguration = {
|
||||
host: string;
|
||||
port: number;
|
||||
username: string;
|
||||
password: string;
|
||||
db: number;
|
||||
};
|
||||
type WebConfiguration = {
|
||||
port: number;
|
||||
host: string;
|
||||
publichost: string;
|
||||
securepublichost: boolean;
|
||||
};
|
||||
type WebRootConfiguration = {
|
||||
api: WebConfiguration;
|
||||
socket: WebConfiguration;
|
||||
};
|
||||
type PublicConfiguration = {
|
||||
serverName: string;
|
||||
serverId: string;
|
||||
owner: string;
|
||||
motd: string;
|
||||
levelScale: number;
|
||||
maxLevels: number;
|
||||
patches: string[];
|
||||
photonRegionId: PhotonRegionCodeNumber | PhotonRegionCodeString;
|
||||
initialRoom: string | null;
|
||||
};
|
||||
type LoggingConfiguration = {
|
||||
notfound: boolean;
|
||||
debug: boolean;
|
||||
network: boolean;
|
||||
};
|
||||
type AuthConfiguration = {
|
||||
secret: string;
|
||||
/**
|
||||
* In Hours
|
||||
*/
|
||||
timeout: number;
|
||||
steamkey: string | null;
|
||||
};
|
||||
type GeneralConfiguration = {
|
||||
/** In milliseconds */
|
||||
watchdogTimeout: number;
|
||||
}
|
||||
|
||||
export type GalvanicConfiguration = {
|
||||
redis: RedisConfiguration;
|
||||
web: WebRootConfiguration;
|
||||
public: PublicConfiguration;
|
||||
general: GeneralConfiguration;
|
||||
logging: LoggingConfiguration;
|
||||
auth: AuthConfiguration;
|
||||
};
|
||||
Reference in New Issue
Block a user