All checks were successful
Galvanic Corrosion Cross-Compile / build (push) Successful in 1m50s
* Commit hash shipped with builds
* Post & pre-build events
* Objective fixes
* Orientation challenge filler
* Custom Rooms base
- Currently cannot save rooms (CDN not set up)
* Moved root path to path.ts
* Room cloning
* Rewrote instances - the whole thing
* Relationships are still untested
* Charades Words
* AG Room fetch
* Private room matchmaking
* Socket fixes
58 lines
2.1 KiB
TypeScript
58 lines
2.1 KiB
TypeScript
/* 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 { APIUtils } from "../apiutils.ts";
|
|
import { Config } from "../config.ts";
|
|
|
|
const config = Config.getConfig() as Config.GalvanicConfiguration;
|
|
const protocol = config.web.api.securepublichost ? "https" : "http";
|
|
|
|
export const route = APIUtils.createRouter("/ns");
|
|
|
|
type NameserverHosts = {
|
|
Accounts: string;
|
|
Auth: string;
|
|
API: string;
|
|
WWW: string;
|
|
Notifications: string;
|
|
Images: string;
|
|
CDN: string;
|
|
Commerce: string;
|
|
Matchmaking: string;
|
|
Storage: string;
|
|
Chat: string;
|
|
Leaderboard: string;
|
|
};
|
|
|
|
const nameserver: NameserverHosts = {
|
|
Accounts: `${protocol}://${config.web.api.publichost}/accounts`,
|
|
Auth: `${protocol}://${config.web.api.publichost}/auth`,
|
|
API: `${protocol}://${config.web.api.publichost}`,
|
|
WWW: `${protocol}://${config.web.api.publichost}`,
|
|
Notifications: `${protocol}://${config.web.api.publichost}/notify`,
|
|
Images: `${protocol}://${config.web.api.publichost}/img`,
|
|
CDN: `${protocol}://${config.web.api.publichost}/cdn`,
|
|
Commerce: `${protocol}://${config.web.api.publichost}/commerce`,
|
|
Matchmaking: `${protocol}://${config.web.api.publichost}/match`,
|
|
Storage: `${protocol}://${config.web.api.publichost}/storage`,
|
|
Chat: `${protocol}://${config.web.api.publichost}/chat`,
|
|
Leaderboard: `${protocol}://${config.web.api.publichost}/leaderboard`,
|
|
};
|
|
|
|
route.router.get("*", (_rq, rs) => {
|
|
rs.json(nameserver);
|
|
}); |