fixed save/load

This commit is contained in:
katboi01 2024-12-02 09:51:41 +01:00
parent a17e460f50
commit a2ec6f700b
3 changed files with 14 additions and 15 deletions

View File

@ -1,6 +1,5 @@
import { game } from "../game";
import { userData } from "../Classes/userData";
const fs = require('fs');
export class users{
static createUser(login, password){
@ -37,17 +36,17 @@ export class users{
game.accountsDB[game.accountsDB.indexOf(user)] = userNew;
}
static saveUsers(){
static saveUsers(fs){
game.accountsDB.forEach(user => {user.save(fs)});
}
static loadUsers(){
static loadUsers(fs){
fs.mkdirSync(`Database/Users/`, { recursive: true })
fs.readdir(`Database/Users/`, (err, files) => {
files.forEach(file => {
fs.readFile(`Database/Users/${file}`, (err, data) => {
if (err) throw err;
let user : userData = JSON.parse(data);
let user : userData = Object.assign(new userData(-1,"",""), JSON.parse(data));
game.accountsDB.push(user);
console.log(`Loaded ${user.login}`);
});

View File

@ -1,6 +1,5 @@
import { game } from "../game";
import { playerData } from "../Classes/playerData";
const fs = require('fs');
export class players{
static createPlayer(id){
@ -20,11 +19,11 @@ export class players{
return player;
}
static savePlayers(){
static savePlayers(fs){
game.playersDB.forEach(player => {player.save(fs)});
}
static loadPlayers(){
static loadPlayers(fs){
fs.mkdirSync(`Database/Players/`, { recursive: true })
fs.readdir(`Database/Players/`, (err, files) => {
files.forEach(file => {

View File

@ -11,6 +11,7 @@ const express = require("express");
const app = express();
const port = 3000;
const server = require('http').Server(app);
const fs = require('fs');
server.listen(port, () => {
console.log(`Server listening at port ${port}`);
@ -24,8 +25,8 @@ const io = require("socket.io")(server, {
}
});
users.loadUsers();
players.loadPlayers();
users.loadUsers(fs);
players.loadPlayers(fs);
io.on('connection', (socket) => {
console.log("Got connection!");
@ -42,10 +43,10 @@ io.on('connection', (socket) => {
socket.on("disconnect", () => {
socket.disconnect()
if(socket.hasOwnProperty("player")){
socket.player.save()
socket.player.save(fs)
}
if(socket.hasOwnProperty("user")){
socket.user.save()
socket.user.save(fs)
game.lobbyState.removeUser(socket.user.id)
delete socket.user
}
@ -92,8 +93,8 @@ setInterval(() => {
}, 5000)
setInterval(() => {
users.saveUsers();
players.savePlayers();
users.saveUsers(fs);
players.savePlayers(fs);
}, 1000 * 60 * 60 * 12) //twice a day
process.on('uncaughtException', function (err) {
@ -105,7 +106,7 @@ process.on('SIGINT', function () {
process.exit(2);
});
process.on('exit', function () {
users.saveUsers();
players.savePlayers();
users.saveUsers(fs);
players.savePlayers(fs);
console.log("exitted");
});