Create ban feature by admin console
This commit is contained in:
parent
871ee6b192
commit
b1f8522c05
10 changed files with 68 additions and 26 deletions
|
@ -21,17 +21,15 @@ export class Admin {
|
|||
) {
|
||||
}
|
||||
|
||||
public sendUserJoin(uuid: string): void {
|
||||
const serverToAdminClientMessage = new ServerToAdminClientMessage();
|
||||
serverToAdminClientMessage.setUseruuidjoinedroom(uuid);
|
||||
|
||||
public sendUserJoin(uuid: string, name: string, ip: string): void {
|
||||
let serverToAdminClientMessage = new ServerToAdminClientMessage();
|
||||
serverToAdminClientMessage = serverToAdminClientMessage.setUseruuidnamejoinedroom(uuid+';'+name+';'+ip)
|
||||
this.socket.write(serverToAdminClientMessage);
|
||||
}
|
||||
|
||||
public sendUserLeft(uuid: string): void {
|
||||
const serverToAdminClientMessage = new ServerToAdminClientMessage();
|
||||
serverToAdminClientMessage.setUseruuidleftroom(uuid);
|
||||
|
||||
public sendUserLeft(uuid: string, name: string, ip: string): void {
|
||||
let serverToAdminClientMessage = new ServerToAdminClientMessage();
|
||||
serverToAdminClientMessage = serverToAdminClientMessage.setUseruuidnameleftroom(uuid+';'+name+';'+ip);
|
||||
this.socket.write(serverToAdminClientMessage);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,7 +102,17 @@ export class GameRoom {
|
|||
}
|
||||
const position = ProtobufUtils.toPointInterface(positionMessage);
|
||||
|
||||
const user = new User(this.nextUserId, joinRoomMessage.getUseruuid(), position, false, this.positionNotifier, socket, joinRoomMessage.getTagList(), joinRoomMessage.getName(), ProtobufUtils.toCharacterLayerObjects(joinRoomMessage.getCharacterlayerList()));
|
||||
const user = new User(this.nextUserId,
|
||||
joinRoomMessage.getUseruuid(),
|
||||
joinRoomMessage.getIpaddress(),
|
||||
position,
|
||||
false,
|
||||
this.positionNotifier,
|
||||
socket,
|
||||
joinRoomMessage.getTagList(),
|
||||
joinRoomMessage.getName(),
|
||||
ProtobufUtils.toCharacterLayerObjects(joinRoomMessage.getCharacterlayerList())
|
||||
);
|
||||
this.nextUserId++;
|
||||
this.users.set(user.id, user);
|
||||
this.usersByUuid.set(user.uuid, user);
|
||||
|
@ -112,7 +122,7 @@ export class GameRoom {
|
|||
|
||||
// Notify admins
|
||||
for (const admin of this.admins) {
|
||||
admin.sendUserJoin(user.uuid);
|
||||
admin.sendUserJoin(user.uuid, user.name, user.IPAddress);
|
||||
}
|
||||
|
||||
return user;
|
||||
|
@ -135,7 +145,7 @@ export class GameRoom {
|
|||
|
||||
// Notify admins
|
||||
for (const admin of this.admins) {
|
||||
admin.sendUserLeft(user.uuid);
|
||||
admin.sendUserLeft(user.uuid, user.name, user.IPAddress);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -318,7 +328,7 @@ export class GameRoom {
|
|||
|
||||
// Let's send all connected users
|
||||
for (const user of this.users.values()) {
|
||||
admin.sendUserJoin(user.uuid);
|
||||
admin.sendUserJoin(user.uuid, user.name, user.IPAddress);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ export class User implements Movable {
|
|||
public constructor(
|
||||
public id: number,
|
||||
public readonly uuid: string,
|
||||
public readonly IPAddress: string,
|
||||
private position: PointInterface,
|
||||
public silent: boolean,
|
||||
private positionNotifier: PositionNotifier,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue