gamelet-cli 0.6.1 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/assets/common.d.ts +4 -4
- package/assets/gitignore.txt +65 -65
- package/assets/launch.json +21 -21
- package/assets/package.json.twig +22 -22
- package/assets/server/greenlock.d/config.json +25 -25
- package/assets/server/static/css/style.css +0 -0
- package/assets/server/static/js/monitor.js +0 -0
- package/assets/server/static/js/test.js +0 -0
- package/assets/server/views/error.twig +0 -0
- package/assets/server/views/index.twig +0 -0
- package/assets/server/views/monitor.twig +0 -0
- package/assets/server/views/test.twig +0 -0
- package/assets/tsconfig.json.twig +42 -42
- package/build/package.json +67 -67
- package/build/src/gamelet/download.js +736 -736
- package/build/src/gamelet/merges.js +143 -143
- package/build/src/gamelet/prepare.js +274 -274
- package/build/src/gamelet/upload.js +278 -278
- package/build/src/index.js +85 -85
- package/build/src/server/Constant.js +9 -9
- package/build/src/server/entities/Client.js +77 -77
- package/build/src/server/entities/ClientOwner.js +66 -66
- package/build/src/server/entities/ClientProject.js +83 -83
- package/build/src/server/entities/Gameroom.js +88 -88
- package/build/src/server/entities/GameroomBase.js +275 -275
- package/build/src/server/entities/Gamezone.js +72 -72
- package/build/src/server/entities/ListFilter.js +192 -192
- package/build/src/server/entities/Monitor.js +80 -80
- package/build/src/server/entities/Player.js +131 -131
- package/build/src/server/managers/ApiManager.js +74 -74
- package/build/src/server/managers/ClientManager.js +63 -63
- package/build/src/server/managers/Database.js +594 -594
- package/build/src/server/managers/GameroomManager.js +391 -391
- package/build/src/server/managers/ManagerBase.js +16 -16
- package/build/src/server/managers/MonitorManager.js +72 -72
- package/build/src/server/managers/PlayerManager.js +103 -103
- package/build/src/server/managers/SocketManager.js +55 -55
- package/build/src/server/managers/UserManager.js +57 -57
- package/build/src/server/messages/Message.js +141 -141
- package/build/src/server/server.js +109 -109
- package/build/src/server/services/ServiceBase.js +24 -24
- package/build/src/server/services/clientService.js +23 -23
- package/build/src/server/services/gameroomService.js +121 -121
- package/build/src/server/services/gltserver.service.js +23 -23
- package/build/src/server/services/playerService.js +29 -29
- package/build/src/server/startServer.js +32 -32
- package/build/src/server/types/BadgeStatus.js +24 -24
- package/build/src/server/types/OrderType.js +37 -37
- package/build/src/server/types/SubmitType.js +23 -23
- package/build/src/server/types/TimeRange.js +25 -25
- package/build/src/server/utils/ArrayUtil.js +125 -125
- package/build/src/server/utils/IntUtil.js +9 -9
- package/build/src/server/utils/ObjectUtil.js +190 -190
- package/build/src/server/utils/StringUtil.js +36 -36
- package/build/src/server/vo/Database.js +0 -0
- package/build/src/server/vo/Gameroom.js +0 -0
- package/build/src/server/vo/Gamezone.js +0 -0
- package/build/src/server/vo/Player.js +0 -0
- package/build/src/server/vo/Response.js +0 -0
- package/build/src/server/vo/System.js +0 -0
- package/build/src/utils/cli.js +48 -48
- package/build/src/utils/file.js +326 -326
- package/build/src/utils/init.js +41 -41
- package/build/src/utils/log.js +16 -16
- package/build/src/utils/net.js +38 -38
- package/package.json +2 -2
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ManagerBase = void 0;
|
|
4
|
-
const MonitorManager_1 = require("./MonitorManager");
|
|
5
|
-
class ManagerBase {
|
|
6
|
-
constructor(name) {
|
|
7
|
-
this.name = name;
|
|
8
|
-
}
|
|
9
|
-
designContract(condition, errorMsg) {
|
|
10
|
-
if (!condition) {
|
|
11
|
-
MonitorManager_1.monitorManager.error('', 'error', this.name, errorMsg);
|
|
12
|
-
throw new Error(errorMsg);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.ManagerBase = ManagerBase;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ManagerBase = void 0;
|
|
4
|
+
const MonitorManager_1 = require("./MonitorManager");
|
|
5
|
+
class ManagerBase {
|
|
6
|
+
constructor(name) {
|
|
7
|
+
this.name = name;
|
|
8
|
+
}
|
|
9
|
+
designContract(condition, errorMsg) {
|
|
10
|
+
if (!condition) {
|
|
11
|
+
MonitorManager_1.monitorManager.error('', 'error', this.name, errorMsg);
|
|
12
|
+
throw new Error(errorMsg);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ManagerBase = ManagerBase;
|
|
17
17
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlckJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL01hbmFnZXJCYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFEQUFrRDtBQUVsRCxNQUFhLFdBQVc7SUFFcEIsWUFBbUIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFFL0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFjLEVBQUUsUUFBZ0I7UUFDM0MsSUFBRyxDQUFDLFNBQVMsRUFBRTtZQUNYLCtCQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztDQUNKO0FBWkQsa0NBWUMifQ==
|
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.monitorManager = void 0;
|
|
4
|
-
const ClientManager_1 = require("./ClientManager");
|
|
5
|
-
const Monitor_1 = require("./../entities/Monitor");
|
|
6
|
-
const Message_1 = require("./../messages/Message");
|
|
7
|
-
const StringUtil_1 = require("./../utils/StringUtil");
|
|
8
|
-
const gltserver_service_1 = require("../services/gltserver.service");
|
|
9
|
-
class MonitorManager {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.channel = 'monitorCh';
|
|
12
|
-
}
|
|
13
|
-
initialize(clientCode, io) {
|
|
14
|
-
this.monitorIO = io.of('/monitor');
|
|
15
|
-
this.monitorIO.on('connection', (socket) => {
|
|
16
|
-
socket.on(Message_1.MessageType.LOGIN, (token, cb) => {
|
|
17
|
-
gltserver_service_1.serverService.validateAccessTokenForMonitor(token)
|
|
18
|
-
.then(user => {
|
|
19
|
-
if (this.monitor) {
|
|
20
|
-
this.monitor.dispose();
|
|
21
|
-
}
|
|
22
|
-
ClientManager_1.clientManager.getClientProject(clientCode, true)
|
|
23
|
-
.then(project => {
|
|
24
|
-
this.monitor = new Monitor_1.Monitor(this.generateMonitorCode(socket), socket, project, user);
|
|
25
|
-
this.monitor.initialize();
|
|
26
|
-
cb({ data: { user: user } });
|
|
27
|
-
});
|
|
28
|
-
})
|
|
29
|
-
.catch(err => {
|
|
30
|
-
cb({ error: 'invalid credential, ' + err });
|
|
31
|
-
socket.disconnect();
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
generateMonitorCode(socket) {
|
|
37
|
-
return 'CGM' + socket.client.id;
|
|
38
|
-
}
|
|
39
|
-
_log(projectCode, channel, prefix, data, color, player) {
|
|
40
|
-
let msg = Message_1.Message.forMonitorLog(projectCode, channel, prefix, data, color, player);
|
|
41
|
-
msg.send(this.monitorIO.to(this.channel));
|
|
42
|
-
this.monitor && msg.send(this.monitor.socket);
|
|
43
|
-
}
|
|
44
|
-
log(projectCode, channel, prefix, data) {
|
|
45
|
-
this._log(projectCode, channel, prefix, data, 'black');
|
|
46
|
-
}
|
|
47
|
-
logIncoming(projectCode, channel, prefix, data, player) {
|
|
48
|
-
this._log(projectCode, channel, prefix, data, 'green', player);
|
|
49
|
-
}
|
|
50
|
-
logOutgoing(projectCode, channel, prefix, data, player) {
|
|
51
|
-
this._log(projectCode, channel, prefix, data, 'blue', player);
|
|
52
|
-
}
|
|
53
|
-
error(projectCode, channel, prefix, err) {
|
|
54
|
-
this._log(projectCode, channel, prefix, StringUtil_1.StringUtil.errorToString(err), 'red');
|
|
55
|
-
}
|
|
56
|
-
_event(projectCode, event, data) {
|
|
57
|
-
let msg = Message_1.Message.forMonitorEvent(projectCode, event, data);
|
|
58
|
-
msg.send(this.monitorIO.to(this.channel));
|
|
59
|
-
this.monitor && msg.send(this.monitor.socket);
|
|
60
|
-
}
|
|
61
|
-
eventPlayerDisconnected(player) {
|
|
62
|
-
this._event(player.client.project.code, 'playerDisconnected', {
|
|
63
|
-
player: player.toMonitorPlayer()
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
eventPlayerConneced(player) {
|
|
67
|
-
this._event(player.client.project.code, 'playerConnected', {
|
|
68
|
-
player: player.toMonitorPlayer()
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
exports.monitorManager = new MonitorManager();
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.monitorManager = void 0;
|
|
4
|
+
const ClientManager_1 = require("./ClientManager");
|
|
5
|
+
const Monitor_1 = require("./../entities/Monitor");
|
|
6
|
+
const Message_1 = require("./../messages/Message");
|
|
7
|
+
const StringUtil_1 = require("./../utils/StringUtil");
|
|
8
|
+
const gltserver_service_1 = require("../services/gltserver.service");
|
|
9
|
+
class MonitorManager {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.channel = 'monitorCh';
|
|
12
|
+
}
|
|
13
|
+
initialize(clientCode, io) {
|
|
14
|
+
this.monitorIO = io.of('/monitor');
|
|
15
|
+
this.monitorIO.on('connection', (socket) => {
|
|
16
|
+
socket.on(Message_1.MessageType.LOGIN, (token, cb) => {
|
|
17
|
+
gltserver_service_1.serverService.validateAccessTokenForMonitor(token)
|
|
18
|
+
.then(user => {
|
|
19
|
+
if (this.monitor) {
|
|
20
|
+
this.monitor.dispose();
|
|
21
|
+
}
|
|
22
|
+
ClientManager_1.clientManager.getClientProject(clientCode, true)
|
|
23
|
+
.then(project => {
|
|
24
|
+
this.monitor = new Monitor_1.Monitor(this.generateMonitorCode(socket), socket, project, user);
|
|
25
|
+
this.monitor.initialize();
|
|
26
|
+
cb({ data: { user: user } });
|
|
27
|
+
});
|
|
28
|
+
})
|
|
29
|
+
.catch(err => {
|
|
30
|
+
cb({ error: 'invalid credential, ' + err });
|
|
31
|
+
socket.disconnect();
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
generateMonitorCode(socket) {
|
|
37
|
+
return 'CGM' + socket.client.id;
|
|
38
|
+
}
|
|
39
|
+
_log(projectCode, channel, prefix, data, color, player) {
|
|
40
|
+
let msg = Message_1.Message.forMonitorLog(projectCode, channel, prefix, data, color, player);
|
|
41
|
+
msg.send(this.monitorIO.to(this.channel));
|
|
42
|
+
this.monitor && msg.send(this.monitor.socket);
|
|
43
|
+
}
|
|
44
|
+
log(projectCode, channel, prefix, data) {
|
|
45
|
+
this._log(projectCode, channel, prefix, data, 'black');
|
|
46
|
+
}
|
|
47
|
+
logIncoming(projectCode, channel, prefix, data, player) {
|
|
48
|
+
this._log(projectCode, channel, prefix, data, 'green', player);
|
|
49
|
+
}
|
|
50
|
+
logOutgoing(projectCode, channel, prefix, data, player) {
|
|
51
|
+
this._log(projectCode, channel, prefix, data, 'blue', player);
|
|
52
|
+
}
|
|
53
|
+
error(projectCode, channel, prefix, err) {
|
|
54
|
+
this._log(projectCode, channel, prefix, StringUtil_1.StringUtil.errorToString(err), 'red');
|
|
55
|
+
}
|
|
56
|
+
_event(projectCode, event, data) {
|
|
57
|
+
let msg = Message_1.Message.forMonitorEvent(projectCode, event, data);
|
|
58
|
+
msg.send(this.monitorIO.to(this.channel));
|
|
59
|
+
this.monitor && msg.send(this.monitor.socket);
|
|
60
|
+
}
|
|
61
|
+
eventPlayerDisconnected(player) {
|
|
62
|
+
this._event(player.client.project.code, 'playerDisconnected', {
|
|
63
|
+
player: player.toMonitorPlayer()
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
eventPlayerConneced(player) {
|
|
67
|
+
this._event(player.client.project.code, 'playerConnected', {
|
|
68
|
+
player: player.toMonitorPlayer()
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.monitorManager = new MonitorManager();
|
|
73
73
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uaXRvck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL01vbml0b3JNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFnRDtBQUNoRCxtREFBZ0Q7QUFDaEQsbURBQTZEO0FBQzdELHNEQUFtRDtBQUVuRCxxRUFBOEQ7QUFHOUQsTUFBTSxjQUFjO0lBQXBCO1FBSVksWUFBTyxHQUFXLFdBQVcsQ0FBQztJQXlFMUMsQ0FBQztJQXJFRyxVQUFVLENBQUMsVUFBa0IsRUFBRSxFQUFtQjtRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBdUIsRUFBRSxFQUFFO1lBQ3hELE1BQU0sQ0FBQyxFQUFFLENBQUMscUJBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBOEIsRUFBRSxFQUFFO2dCQUMzRSxpQ0FBYSxDQUFDLDZCQUE2QixDQUFDLEtBQUssQ0FBQztxQkFDN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNULElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTt3QkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO3FCQUMxQjtvQkFDRCw2QkFBYSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7eUJBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQzt3QkFDcEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQzt3QkFD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
|
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.playerManager = void 0;
|
|
4
|
-
const ManagerBase_1 = require("./ManagerBase");
|
|
5
|
-
const Player_1 = require("../entities/Player");
|
|
6
|
-
const Message_1 = require("../messages/Message");
|
|
7
|
-
const ArrayUtil_1 = require("../utils/ArrayUtil");
|
|
8
|
-
class PlayerManager extends ManagerBase_1.ManagerBase {
|
|
9
|
-
constructor() {
|
|
10
|
-
super('PlayerManager');
|
|
11
|
-
this.players = {};
|
|
12
|
-
this.clientUserMap = {};
|
|
13
|
-
}
|
|
14
|
-
initialize() {
|
|
15
|
-
}
|
|
16
|
-
listPlayers() {
|
|
17
|
-
return ArrayUtil_1.ArrayUtil.listValuesOfObject(this.players);
|
|
18
|
-
}
|
|
19
|
-
createPlayer(socket, client, user, networkDelay) {
|
|
20
|
-
let playerCode = this.generatePlayerCode(socket, user);
|
|
21
|
-
this.designContract(!this.players[playerCode], 'The socket has been assigned to another user');
|
|
22
|
-
let player = new Player_1.Player(playerCode, socket, client, user, networkDelay);
|
|
23
|
-
this.processDuplicateLoginUser(player);
|
|
24
|
-
this.players[player.code] = player;
|
|
25
|
-
client.addPlayer(player);
|
|
26
|
-
player.on(Player_1.Player.EVENT.DISCONNECTED, () => {
|
|
27
|
-
delete this.players[player.code];
|
|
28
|
-
(this.clientUserMap[player.clientUserKey] == player) && delete this.clientUserMap[player.clientUserKey];
|
|
29
|
-
client.removePlayer(player);
|
|
30
|
-
});
|
|
31
|
-
return player;
|
|
32
|
-
}
|
|
33
|
-
getTotalPlayersCount() {
|
|
34
|
-
let count = 0;
|
|
35
|
-
for (let _key in this.players) {
|
|
36
|
-
++count;
|
|
37
|
-
}
|
|
38
|
-
return count;
|
|
39
|
-
}
|
|
40
|
-
getPlayerByCode(code) {
|
|
41
|
-
return this.players[code];
|
|
42
|
-
}
|
|
43
|
-
generatePlayerCode(socket, user) {
|
|
44
|
-
return 'DVP' + socket.client.id + '|' + user.username;
|
|
45
|
-
}
|
|
46
|
-
getPlayerByUsername(username) {
|
|
47
|
-
for (let key in this.players) {
|
|
48
|
-
let player = this.players[key];
|
|
49
|
-
if (player.user.username == username) {
|
|
50
|
-
return player;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
processDuplicateLoginUser(player) {
|
|
56
|
-
let prevPlayer = this.clientUserMap[player.clientUserKey];
|
|
57
|
-
if (prevPlayer && prevPlayer != player) {
|
|
58
|
-
prevPlayer.disconnect();
|
|
59
|
-
}
|
|
60
|
-
this.clientUserMap[player.clientUserKey] = player;
|
|
61
|
-
}
|
|
62
|
-
updateNetworkDelay(player, networkDelay) {
|
|
63
|
-
networkDelay = Math.max(10, networkDelay);
|
|
64
|
-
player.setNetworkDelay(networkDelay);
|
|
65
|
-
return Promise.resolve(networkDelay);
|
|
66
|
-
}
|
|
67
|
-
searchPlayers(player, term, length) {
|
|
68
|
-
if (length <= 0 || !term || term.length < 2) {
|
|
69
|
-
return Promise.resolve([]);
|
|
70
|
-
}
|
|
71
|
-
let list = [];
|
|
72
|
-
for (let key in this.players) {
|
|
73
|
-
let p = this.players[key];
|
|
74
|
-
if (p.client == player.client && !p.user.guest) {
|
|
75
|
-
if (p.user.nickname.includes(term) || p.user.username.includes(term)) {
|
|
76
|
-
list.push(p);
|
|
77
|
-
if (list.length >= length) {
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return Promise.resolve(list);
|
|
84
|
-
}
|
|
85
|
-
sendDataToPlayer(player, playerCode, data) {
|
|
86
|
-
let target = this.players[playerCode];
|
|
87
|
-
this.designContract(target, 'The player has left the game.');
|
|
88
|
-
return target.send(Message_1.Message.forDataToPlayer(player, data));
|
|
89
|
-
}
|
|
90
|
-
gltReport(player, _zoneCode, _paramInt, _paramStr, _meta, disconnect) {
|
|
91
|
-
if (disconnect) {
|
|
92
|
-
setTimeout(() => player.disconnect(), 1);
|
|
93
|
-
}
|
|
94
|
-
player.addCheat();
|
|
95
|
-
const room = player.getGameroom();
|
|
96
|
-
if (room) {
|
|
97
|
-
room.updateBrainer(false);
|
|
98
|
-
room.broadcast(Message_1.Message.forPlayerCheated(player.code));
|
|
99
|
-
}
|
|
100
|
-
return Promise.resolve(1);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.playerManager = new PlayerManager();
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.playerManager = void 0;
|
|
4
|
+
const ManagerBase_1 = require("./ManagerBase");
|
|
5
|
+
const Player_1 = require("../entities/Player");
|
|
6
|
+
const Message_1 = require("../messages/Message");
|
|
7
|
+
const ArrayUtil_1 = require("../utils/ArrayUtil");
|
|
8
|
+
class PlayerManager extends ManagerBase_1.ManagerBase {
|
|
9
|
+
constructor() {
|
|
10
|
+
super('PlayerManager');
|
|
11
|
+
this.players = {};
|
|
12
|
+
this.clientUserMap = {};
|
|
13
|
+
}
|
|
14
|
+
initialize() {
|
|
15
|
+
}
|
|
16
|
+
listPlayers() {
|
|
17
|
+
return ArrayUtil_1.ArrayUtil.listValuesOfObject(this.players);
|
|
18
|
+
}
|
|
19
|
+
createPlayer(socket, client, user, networkDelay) {
|
|
20
|
+
let playerCode = this.generatePlayerCode(socket, user);
|
|
21
|
+
this.designContract(!this.players[playerCode], 'The socket has been assigned to another user');
|
|
22
|
+
let player = new Player_1.Player(playerCode, socket, client, user, networkDelay);
|
|
23
|
+
this.processDuplicateLoginUser(player);
|
|
24
|
+
this.players[player.code] = player;
|
|
25
|
+
client.addPlayer(player);
|
|
26
|
+
player.on(Player_1.Player.EVENT.DISCONNECTED, () => {
|
|
27
|
+
delete this.players[player.code];
|
|
28
|
+
(this.clientUserMap[player.clientUserKey] == player) && delete this.clientUserMap[player.clientUserKey];
|
|
29
|
+
client.removePlayer(player);
|
|
30
|
+
});
|
|
31
|
+
return player;
|
|
32
|
+
}
|
|
33
|
+
getTotalPlayersCount() {
|
|
34
|
+
let count = 0;
|
|
35
|
+
for (let _key in this.players) {
|
|
36
|
+
++count;
|
|
37
|
+
}
|
|
38
|
+
return count;
|
|
39
|
+
}
|
|
40
|
+
getPlayerByCode(code) {
|
|
41
|
+
return this.players[code];
|
|
42
|
+
}
|
|
43
|
+
generatePlayerCode(socket, user) {
|
|
44
|
+
return 'DVP' + socket.client.id + '|' + user.username;
|
|
45
|
+
}
|
|
46
|
+
getPlayerByUsername(username) {
|
|
47
|
+
for (let key in this.players) {
|
|
48
|
+
let player = this.players[key];
|
|
49
|
+
if (player.user.username == username) {
|
|
50
|
+
return player;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
processDuplicateLoginUser(player) {
|
|
56
|
+
let prevPlayer = this.clientUserMap[player.clientUserKey];
|
|
57
|
+
if (prevPlayer && prevPlayer != player) {
|
|
58
|
+
prevPlayer.disconnect();
|
|
59
|
+
}
|
|
60
|
+
this.clientUserMap[player.clientUserKey] = player;
|
|
61
|
+
}
|
|
62
|
+
updateNetworkDelay(player, networkDelay) {
|
|
63
|
+
networkDelay = Math.max(10, networkDelay);
|
|
64
|
+
player.setNetworkDelay(networkDelay);
|
|
65
|
+
return Promise.resolve(networkDelay);
|
|
66
|
+
}
|
|
67
|
+
searchPlayers(player, term, length) {
|
|
68
|
+
if (length <= 0 || !term || term.length < 2) {
|
|
69
|
+
return Promise.resolve([]);
|
|
70
|
+
}
|
|
71
|
+
let list = [];
|
|
72
|
+
for (let key in this.players) {
|
|
73
|
+
let p = this.players[key];
|
|
74
|
+
if (p.client == player.client && !p.user.guest) {
|
|
75
|
+
if (p.user.nickname.includes(term) || p.user.username.includes(term)) {
|
|
76
|
+
list.push(p);
|
|
77
|
+
if (list.length >= length) {
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return Promise.resolve(list);
|
|
84
|
+
}
|
|
85
|
+
sendDataToPlayer(player, playerCode, data) {
|
|
86
|
+
let target = this.players[playerCode];
|
|
87
|
+
this.designContract(target, 'The player has left the game.');
|
|
88
|
+
return target.send(Message_1.Message.forDataToPlayer(player, data));
|
|
89
|
+
}
|
|
90
|
+
gltReport(player, _zoneCode, _paramInt, _paramStr, _meta, disconnect) {
|
|
91
|
+
if (disconnect) {
|
|
92
|
+
setTimeout(() => player.disconnect(), 1);
|
|
93
|
+
}
|
|
94
|
+
player.addCheat();
|
|
95
|
+
const room = player.getGameroom();
|
|
96
|
+
if (room) {
|
|
97
|
+
room.updateBrainer(false);
|
|
98
|
+
room.broadcast(Message_1.Message.forPlayerCheated(player.code));
|
|
99
|
+
}
|
|
100
|
+
return Promise.resolve(1);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.playerManager = new PlayerManager();
|
|
104
104
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWVyTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvUGxheWVyTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FBNEM7QUFDNUMsK0NBQTRDO0FBQzVDLGlEQUE4QztBQUM5QyxrREFBK0M7QUFFL0MsTUFBTSxhQUFjLFNBQVEseUJBQVc7SUFLbkM7UUFDSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFKbkIsWUFBTyxHQUE4QixFQUFFLENBQUM7UUFDeEMsa0JBQWEsR0FBOEIsRUFBRSxDQUFDO0lBSXRELENBQUM7SUFFRCxVQUFVO0lBQ1YsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLHFCQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUFZLENBQUMsTUFBdUIsRUFBRSxNQUFjLEVBQUUsSUFBYSxFQUFFLFlBQW9CO1FBQ3JGLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsOENBQThDLENBQUMsQ0FBQztRQUMvRixJQUFJLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNuQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpCLE1BQU0sQ0FBQyxFQUFFLENBQUMsZUFBTSxDQUFDLEtB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
|
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.socketManager = void 0;
|
|
4
|
-
const ManagerBase_1 = require("./ManagerBase");
|
|
5
|
-
const Message_1 = require("../messages/Message");
|
|
6
|
-
const PlayerManager_1 = require("./PlayerManager");
|
|
7
|
-
const gltserver_service_1 = require("../services/gltserver.service");
|
|
8
|
-
const StringUtil_1 = require("../utils/StringUtil");
|
|
9
|
-
const ClientManager_1 = require("./ClientManager");
|
|
10
|
-
const MonitorManager_1 = require("./MonitorManager");
|
|
11
|
-
class SocketManager extends ManagerBase_1.ManagerBase {
|
|
12
|
-
constructor() {
|
|
13
|
-
super('SocketManager');
|
|
14
|
-
}
|
|
15
|
-
initialize(gameIO) {
|
|
16
|
-
gameIO.on('connection', (socket) => {
|
|
17
|
-
//let player: Player = null;
|
|
18
|
-
socket.on(Message_1.MessageType.ECHO, (message, cb) => {
|
|
19
|
-
cb({ data: message });
|
|
20
|
-
});
|
|
21
|
-
socket.on(Message_1.MessageType.LOGIN, (token, msgVersion, networkDelay, cb) => {
|
|
22
|
-
this.onLogin(socket, token, msgVersion, networkDelay, '', cb);
|
|
23
|
-
});
|
|
24
|
-
socket.on(Message_1.MessageType.LOGIN2, (token, msgVersion, networkDelay, devToken, cb) => {
|
|
25
|
-
this.onLogin(socket, token, msgVersion, networkDelay, devToken, cb);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
onLogin(socket, token, msgVersion, networkDelay, _devToken, cb) {
|
|
30
|
-
gltserver_service_1.serverService.validateAccessToken(token)
|
|
31
|
-
.then(user => {
|
|
32
|
-
this.designContract(user, 'no user returned');
|
|
33
|
-
if (socket.connected) {
|
|
34
|
-
return ClientManager_1.clientManager.getClientByToken(token, msgVersion)
|
|
35
|
-
.then(client => {
|
|
36
|
-
MonitorManager_1.monitorManager.log(client.project.code, 'player', 'user login', user.username);
|
|
37
|
-
let player = PlayerManager_1.playerManager.createPlayer(socket, client, user, networkDelay);
|
|
38
|
-
cb({ data: player.toVo() });
|
|
39
|
-
return user;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
return user;
|
|
44
|
-
}
|
|
45
|
-
})
|
|
46
|
-
.catch(err => {
|
|
47
|
-
console.error(err);
|
|
48
|
-
if (socket.connected) {
|
|
49
|
-
cb({ error: StringUtil_1.StringUtil.errorToString(err) });
|
|
50
|
-
socket.disconnect(true);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.socketManager = new SocketManager();
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.socketManager = void 0;
|
|
4
|
+
const ManagerBase_1 = require("./ManagerBase");
|
|
5
|
+
const Message_1 = require("../messages/Message");
|
|
6
|
+
const PlayerManager_1 = require("./PlayerManager");
|
|
7
|
+
const gltserver_service_1 = require("../services/gltserver.service");
|
|
8
|
+
const StringUtil_1 = require("../utils/StringUtil");
|
|
9
|
+
const ClientManager_1 = require("./ClientManager");
|
|
10
|
+
const MonitorManager_1 = require("./MonitorManager");
|
|
11
|
+
class SocketManager extends ManagerBase_1.ManagerBase {
|
|
12
|
+
constructor() {
|
|
13
|
+
super('SocketManager');
|
|
14
|
+
}
|
|
15
|
+
initialize(gameIO) {
|
|
16
|
+
gameIO.on('connection', (socket) => {
|
|
17
|
+
//let player: Player = null;
|
|
18
|
+
socket.on(Message_1.MessageType.ECHO, (message, cb) => {
|
|
19
|
+
cb({ data: message });
|
|
20
|
+
});
|
|
21
|
+
socket.on(Message_1.MessageType.LOGIN, (token, msgVersion, networkDelay, cb) => {
|
|
22
|
+
this.onLogin(socket, token, msgVersion, networkDelay, '', cb);
|
|
23
|
+
});
|
|
24
|
+
socket.on(Message_1.MessageType.LOGIN2, (token, msgVersion, networkDelay, devToken, cb) => {
|
|
25
|
+
this.onLogin(socket, token, msgVersion, networkDelay, devToken, cb);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
onLogin(socket, token, msgVersion, networkDelay, _devToken, cb) {
|
|
30
|
+
gltserver_service_1.serverService.validateAccessToken(token)
|
|
31
|
+
.then(user => {
|
|
32
|
+
this.designContract(user, 'no user returned');
|
|
33
|
+
if (socket.connected) {
|
|
34
|
+
return ClientManager_1.clientManager.getClientByToken(token, msgVersion)
|
|
35
|
+
.then(client => {
|
|
36
|
+
MonitorManager_1.monitorManager.log(client.project.code, 'player', 'user login', user.username);
|
|
37
|
+
let player = PlayerManager_1.playerManager.createPlayer(socket, client, user, networkDelay);
|
|
38
|
+
cb({ data: player.toVo() });
|
|
39
|
+
return user;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
return user;
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
.catch(err => {
|
|
47
|
+
console.error(err);
|
|
48
|
+
if (socket.connected) {
|
|
49
|
+
cb({ error: StringUtil_1.StringUtil.errorToString(err) });
|
|
50
|
+
socket.disconnect(true);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.socketManager = new SocketManager();
|
|
56
56
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29ja2V0TWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2ZXIvbWFuYWdlcnMvU29ja2V0TWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBNEM7QUFDNUMsaURBQWtEO0FBQ2xELG1EQUFnRDtBQUNoRCxxRUFBOEQ7QUFDOUQsb0RBQWlEO0FBQ2pELG1EQUFnRDtBQUNoRCxxREFBa0Q7QUFFbEQsTUFBTSxhQUFjLFNBQVEseUJBQVc7SUFFbkM7UUFDSSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxNQUEwQjtRQUN4QyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUNoRCw0QkFBNEI7WUFFNUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxxQkFBVyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUE4QixFQUFFLEVBQUU7Z0JBQ3BFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxDQUFDLEVBQUUsQ0FBQyxxQkFBVyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBRSxVQUFrQixFQUFFLFlBQW9CLEVBQUUsRUFBOEIsRUFBRSxFQUFFO2dCQUNySCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDbEUsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsRUFBRSxDQUFDLHFCQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxRQUFnQixFQUFFLEVBQThCLEVBQUUsRUFBRTtnQkFDeEksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sT0FBTyxDQUFDLE1BQXVCLEVBQUUsS0FBYSxFQUFFLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxTQUFpQixFQUFFLEVBQThCO1FBQy9JLGlDQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO2FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFFOUMsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO2dCQUNsQixPQUFPLDZCQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQztxQkFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNYLCtCQUFjLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUMvRSxJQUFJLE1BQU0sR0FBRyw2QkFBYSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDNUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzVCLE9BQU8sSUFBSSxDQUFDO2dCQUNoQixDQUFDLENBQUMsQ0FBQTthQUNUO2lCQUFNO2dCQUNILE9BQU8sSUFBSSxDQUFDO2FBQ2Y7UUFDTCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDbEIsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLHVCQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMzQjtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ1YsQ0FBQztDQUNKO0FBRVksUUFBQSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyJ9
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.userManager = exports.UserManager = void 0;
|
|
4
|
-
const IntUtil_1 = require("../utils/IntUtil");
|
|
5
|
-
const StringUtil_1 = require("../utils/StringUtil");
|
|
6
|
-
const PlayerManager_1 = require("./PlayerManager");
|
|
7
|
-
class UserManager {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.users = [];
|
|
10
|
-
this.userIconColors = [
|
|
11
|
-
'blue',
|
|
12
|
-
'green',
|
|
13
|
-
'orange',
|
|
14
|
-
'pink',
|
|
15
|
-
'red',
|
|
16
|
-
'yellow',
|
|
17
|
-
];
|
|
18
|
-
this.users.push({
|
|
19
|
-
username: 'LocalServerMonitor',
|
|
20
|
-
nickname: 'Monitor',
|
|
21
|
-
token: 'localServerMonitor',
|
|
22
|
-
admin: true,
|
|
23
|
-
iconUrl: 'https://gamelet.online/img/default_usericon_red.png',
|
|
24
|
-
ip: '1.1.1.1',
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
getByToken(toiken) {
|
|
28
|
-
return this.users.find(u => u.token == toiken);
|
|
29
|
-
}
|
|
30
|
-
getByUsername(username) {
|
|
31
|
-
return this.users.find(u => u.username == username);
|
|
32
|
-
}
|
|
33
|
-
listByUsernames(usernames) {
|
|
34
|
-
return this.users.filter(u => usernames.includes(u.username));
|
|
35
|
-
}
|
|
36
|
-
login(clientCode, guest) {
|
|
37
|
-
let onlineUsernames = PlayerManager_1.playerManager.listPlayers().map(player => player.user.username);
|
|
38
|
-
let user = this.users.find(u => !onlineUsernames.includes(u.username) && !u.guest == !guest && !u.admin);
|
|
39
|
-
if (!user) {
|
|
40
|
-
let userIndex = this.users.length + 1;
|
|
41
|
-
let username = `DevUser_${userIndex}@devserver`;
|
|
42
|
-
let userColor = this.userIconColors[userIndex % this.userIconColors.length];
|
|
43
|
-
user = {
|
|
44
|
-
username: username,
|
|
45
|
-
nickname: `User ${userIndex}`,
|
|
46
|
-
iconUrl: `https://gamelet.online/img/default_usericon_${userColor}.png`,
|
|
47
|
-
token: `${username}|${clientCode}|Dev` + StringUtil_1.StringUtil.generateRandomString(3),
|
|
48
|
-
ip: [192, 168, IntUtil_1.IntUtil.randInt(100, 200), IntUtil_1.IntUtil.randInt(100, 200)].join('.'),
|
|
49
|
-
guest: !!guest,
|
|
50
|
-
};
|
|
51
|
-
this.users.push(user);
|
|
52
|
-
}
|
|
53
|
-
return user;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.UserManager = UserManager;
|
|
57
|
-
exports.userManager = new UserManager();
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.userManager = exports.UserManager = void 0;
|
|
4
|
+
const IntUtil_1 = require("../utils/IntUtil");
|
|
5
|
+
const StringUtil_1 = require("../utils/StringUtil");
|
|
6
|
+
const PlayerManager_1 = require("./PlayerManager");
|
|
7
|
+
class UserManager {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.users = [];
|
|
10
|
+
this.userIconColors = [
|
|
11
|
+
'blue',
|
|
12
|
+
'green',
|
|
13
|
+
'orange',
|
|
14
|
+
'pink',
|
|
15
|
+
'red',
|
|
16
|
+
'yellow',
|
|
17
|
+
];
|
|
18
|
+
this.users.push({
|
|
19
|
+
username: 'LocalServerMonitor',
|
|
20
|
+
nickname: 'Monitor',
|
|
21
|
+
token: 'localServerMonitor',
|
|
22
|
+
admin: true,
|
|
23
|
+
iconUrl: 'https://gamelet.online/img/default_usericon_red.png',
|
|
24
|
+
ip: '1.1.1.1',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
getByToken(toiken) {
|
|
28
|
+
return this.users.find(u => u.token == toiken);
|
|
29
|
+
}
|
|
30
|
+
getByUsername(username) {
|
|
31
|
+
return this.users.find(u => u.username == username);
|
|
32
|
+
}
|
|
33
|
+
listByUsernames(usernames) {
|
|
34
|
+
return this.users.filter(u => usernames.includes(u.username));
|
|
35
|
+
}
|
|
36
|
+
login(clientCode, guest) {
|
|
37
|
+
let onlineUsernames = PlayerManager_1.playerManager.listPlayers().map(player => player.user.username);
|
|
38
|
+
let user = this.users.find(u => !onlineUsernames.includes(u.username) && !u.guest == !guest && !u.admin);
|
|
39
|
+
if (!user) {
|
|
40
|
+
let userIndex = this.users.length + 1;
|
|
41
|
+
let username = `DevUser_${userIndex}@devserver`;
|
|
42
|
+
let userColor = this.userIconColors[userIndex % this.userIconColors.length];
|
|
43
|
+
user = {
|
|
44
|
+
username: username,
|
|
45
|
+
nickname: `User ${userIndex}`,
|
|
46
|
+
iconUrl: `https://gamelet.online/img/default_usericon_${userColor}.png`,
|
|
47
|
+
token: `${username}|${clientCode}|Dev` + StringUtil_1.StringUtil.generateRandomString(3),
|
|
48
|
+
ip: [192, 168, IntUtil_1.IntUtil.randInt(100, 200), IntUtil_1.IntUtil.randInt(100, 200)].join('.'),
|
|
49
|
+
guest: !!guest,
|
|
50
|
+
};
|
|
51
|
+
this.users.push(user);
|
|
52
|
+
}
|
|
53
|
+
return user;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.UserManager = UserManager;
|
|
57
|
+
exports.userManager = new UserManager();
|
|
58
58
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmVyL21hbmFnZXJzL1VzZXJNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUEyQztBQUMzQyxvREFBaUQ7QUFDakQsbURBQWdEO0FBRWhELE1BQWEsV0FBVztJQWFwQjtRQVhRLFVBQUssR0FBYyxFQUFFLENBQUM7UUFFdEIsbUJBQWMsR0FBYTtZQUMvQixNQUFNO1lBQ04sT0FBTztZQUNQLFFBQVE7WUFDUixNQUFNO1lBQ04sS0FBSztZQUNMLFFBQVE7U0FDWCxDQUFDO1FBR0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDWixRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFFBQVEsRUFBRSxTQUFTO1lBQ25CLEtBQUssRUFBRSxvQkFBb0I7WUFDM0IsS0FBSyxFQUFFLElBQUk7WUFDWCxPQUFPLEVBQUUscURBQXFEO1lBQzlELEVBQUUsRUFBRSxTQUFTO1NBQ2hCLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBYztRQUNyQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBbUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFrQixFQUFFLEtBQWM7UUFDcEMsSUFBSSxlQUFlLEdBQUcsNkJBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RGLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLFFBQVEsR0FBRyxXQUFXLFNBQVMsWUFBWSxDQUFDO1lBQ2hELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUUsSUFBSSxHQUFHO2dCQUNILFFBQVEsRUFBRSxRQUFRO2dCQUNsQixRQUFRLEVBQUUsUUFBUSxTQUFTLEVBQUU7Z0JBQzdCLE9BQU8sRUFBRSwrQ0FBK0MsU0FBUyxNQUFNO2dCQUN2RSxLQUFLLEVBQUUsR0FBRyxRQUFRLElBQUksVUFBVSxNQUFNLEdBQUcsdUJBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsaUJBQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLGlCQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzlFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSzthQUNqQixDQUFBO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0o7QUFyREQsa0NBcURDO0FBQ1ksUUFBQSxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQyJ9
|