v3 release #75
@ -1,14 +1,13 @@
|
|||||||
import { createClient, RedisClientType } from "redis";
|
import { createClient, RedisClientType } from "redis";
|
||||||
import "./util/time.js";
|
import "./util/time.js";
|
||||||
import { SimrailClient, SimrailClientEvents } from "./util/SimrailClient.js";
|
import { SimrailClient, SimrailClientEvents } from "./util/SimrailClient.js";
|
||||||
import dayjs from "dayjs";
|
|
||||||
import { StationsModule } from "./modules/stations.js";
|
import { StationsModule } from "./modules/stations.js";
|
||||||
import { ApiModule } from "./http/server.js";
|
import { ApiModule } from "./http/server.js";
|
||||||
import mongoose from "mongoose";
|
import mongoose from "mongoose";
|
||||||
import { IPlayer } from "./types/player.js";
|
|
||||||
import { Station, Server, Train } from "@simrail/types";
|
|
||||||
import { TrainsModule } from "./modules/trains.js";
|
import { TrainsModule } from "./modules/trains.js";
|
||||||
|
import { Server, Station, Train } from "@simrail/types";
|
||||||
|
import { IPlayer } from "./types/player.js";
|
||||||
|
import dayjs from "dayjs";
|
||||||
|
|
||||||
;(async () =>
|
;(async () =>
|
||||||
{
|
{
|
||||||
@ -19,34 +18,45 @@ import { TrainsModule } from "./modules/trains.js";
|
|||||||
.connect() as RedisClientType;
|
.connect() as RedisClientType;
|
||||||
console.log("Redis connected");
|
console.log("Redis connected");
|
||||||
|
|
||||||
await mongoose.connect(process.env.MONGO_URI!);
|
await mongoose.connect(process.env.MONGO_URI!); // TODO: add typings
|
||||||
|
|
||||||
console.log("MongoDB connected");
|
console.log("MongoDB connected");
|
||||||
global.client = new SimrailClient();
|
|
||||||
|
if (process.env.NODE_ENV !== "preview") // disable writing data to db on preview.
|
||||||
|
{
|
||||||
|
global.client = new SimrailClient();
|
||||||
|
|
||||||
|
StationsModule.load();
|
||||||
|
TrainsModule.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
ApiModule.load(); // TODO: use fastify
|
||||||
|
|
||||||
|
if (process.env.NODE_ENV === "development")
|
||||||
|
{
|
||||||
|
client.on(SimrailClientEvents.StationJoined, (server: Server, station: Station, player: IPlayer) =>
|
||||||
|
{
|
||||||
|
console.log(`${ server.ServerCode } | ${ station.Name } | ${ player.personaname } joined`);
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on(SimrailClientEvents.StationLeft, (server: Server, station: Station, player: IPlayer, joinedAt: number) =>
|
||||||
|
{
|
||||||
|
console.log(`${ server.ServerCode } | ${ station.Name } | ${ player.personaname } left. | ${ joinedAt ? dayjs(joinedAt).fromNow() : "no time data." }`);
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on(SimrailClientEvents.TrainLeft, (server: Server, train: Train, player: IPlayer, joinedAt: number, leftAt: number, points: number, distance: number, vehicle: string) =>
|
||||||
|
{
|
||||||
|
console.log(`${ server.ServerCode } | ${ train.TrainName } | ${ player.personaname } left. | ${ joinedAt ? dayjs(joinedAt).fromNow() : "no time data." } |
|
||||||
|
${ vehicle } | ${ distance / 1000 } | ${ points }`);
|
||||||
|
});
|
||||||
|
|
||||||
|
client.on(SimrailClientEvents.TrainJoined, (server: Server, train: Train, player: IPlayer, start: number) =>
|
||||||
|
{
|
||||||
|
console.log(`${ server.ServerCode } | ${ train.TrainName } | ${ player.personaname } joined | ${ start }`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
client.on(SimrailClientEvents.StationJoined, (server: Server, station: Station, player: IPlayer) => {
|
|
||||||
console.log(`${server.ServerCode} | ${station.Name} | ${player.personaname} joined`);
|
|
||||||
});
|
|
||||||
|
|
||||||
client.on(SimrailClientEvents.StationLeft, (server: Server, station: Station, player: IPlayer, joinedAt: number) => {
|
|
||||||
console.log(`${server.ServerCode} | ${station.Name} | ${player.personaname} left. | ${joinedAt ? dayjs(joinedAt).fromNow() : 'no time data.'}`);
|
|
||||||
});
|
|
||||||
|
|
||||||
client.on(SimrailClientEvents.TrainLeft, (server: Server, train: Train, player: IPlayer, joinedAt: number, leftAt: number, points: number, distance: number, vehicle: string) => {
|
|
||||||
console.log(`${server.ServerCode} | ${train.TrainName} | ${player.personaname} left. | ${joinedAt ? dayjs(joinedAt).fromNow() : 'no time data.'} |
|
|
||||||
${vehicle} | ${distance / 1000} | ${points}`);
|
|
||||||
});
|
|
||||||
|
|
||||||
client.on(SimrailClientEvents.TrainJoined, (server: Server, train: Train, player: IPlayer, start: number) => {
|
|
||||||
console.log(`${server.ServerCode} | ${train.TrainName} | ${player.personaname} joined | ${start}`);
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
StationsModule.load();
|
|
||||||
TrainsModule.load();
|
|
||||||
ApiModule.load();
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user