@jsprismarine/raknet
Version:
Basic RakNet implementation written in TypeScript
140 lines (139 loc) • 9.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
//#region src/utils/ServerName.ts
var ServerName = class {
server;
motd;
name = "JSRakNet";
protocol;
version;
maxPlayers;
onlinePlayers = 0;
gamemode;
serverId = 0n;
/**
* Create a new server name for a RakNet server.
* @param {any} server - The server instance.
*/
constructor(server) {
this.server = server;
this.motd = server.getConfig().getMotd();
this.gamemode = server.getConfig().getGamemode();
this.maxPlayers = server.getConfig().getMaxPlayers();
this.protocol = server.getIdentifiers().Protocol;
this.version = server.getIdentifiers().MinecraftVersions.at(0);
}
/**
* Get the message of the day.
* @returns {string} the message of the day.
*/
getMotd() {
return this.motd;
}
/**
* Set the message of the day.
* @param {string} motd - The message of the day.
*/
setMotd(motd) {
this.motd = motd;
}
/**
* Get the server name.
* @returns {string} The server name.
*/
getName() {
return this.name;
}
/**
* Set the server name.
* @param {string} name - The server name.
*/
setName(name) {
this.name = name;
}
/**
* Get the protocol version.
* @returns {number} The protocol version.
*/
getProtocol() {
return this.protocol;
}
/**
* Set the protocol version.
* @param {number} protocol - The protocol version.
*/
setProtocol(protocol) {
this.protocol = protocol;
}
/**
* Get the version of the server.
* @returns {string} The version of the server.
*/
getVersion() {
return this.version;
}
/**
* Set the version of the server.
* @param {string} version - The version of the server.
*/
setVersion(version) {
this.version = version;
}
/**
* Get the amount of online players.
* @returns {number} The amount of online players.
*/
getOnlinePlayerCount() {
return this.onlinePlayers;
}
/**
* Set the amount of online players.
* @param {number} count - The amount of online players.
*/
setOnlinePlayerCount(count) {
this.onlinePlayers = count;
}
/**
* Get the maximum amount of players.
* @returns {number} The maximum amount of players.
*/
getMaxPlayerCount() {
return this.maxPlayers;
}
/**
* Set the maximum amount of players.
* @param {number} count - The maximum amount of players.
* @returns {void}
*/
setMaxPlayerCount(count) {
this.maxPlayers = count;
}
getGamemode() {
return this.gamemode;
}
setGamemode(gamemode) {
this.gamemode = gamemode;
}
getServerId() {
return this.serverId;
}
setServerId(id) {
this.serverId = id;
}
toString() {
return [
"MCPE",
this.getMotd() || "Example motd",
this.getProtocol(),
this.getVersion(),
this.getOnlinePlayerCount(),
this.getMaxPlayerCount(),
this.getServerId(),
this.getName(),
this.getGamemode()
].join(";") + ";";
}
};
//#endregion
exports.ServerName = ServerName;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyTmFtZS5janMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TZXJ2ZXJOYW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTZXJ2ZXJOYW1lIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZlcjogYW55O1xuICAgIHByaXZhdGUgbW90ZDogc3RyaW5nO1xuICAgIHByaXZhdGUgbmFtZSA9ICdKU1Jha05ldCc7XG4gICAgcHJpdmF0ZSBwcm90b2NvbDtcbiAgICBwcml2YXRlIHZlcnNpb247XG4gICAgcHJpdmF0ZSBtYXhQbGF5ZXJzOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBvbmxpbmVQbGF5ZXJzOiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgZ2FtZW1vZGU6IHN0cmluZztcbiAgICBwcml2YXRlIHNlcnZlcklkID0gMG47XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYSBuZXcgc2VydmVyIG5hbWUgZm9yIGEgUmFrTmV0IHNlcnZlci5cbiAgICAgKiBAcGFyYW0ge2FueX0gc2VydmVyIC0gVGhlIHNlcnZlciBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3Ioc2VydmVyOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zZXJ2ZXIgPSBzZXJ2ZXI7XG4gICAgICAgIHRoaXMubW90ZCA9IHNlcnZlci5nZXRDb25maWcoKS5nZXRNb3RkKCk7XG4gICAgICAgIHRoaXMuZ2FtZW1vZGUgPSBzZXJ2ZXIuZ2V0Q29uZmlnKCkuZ2V0R2FtZW1vZGUoKTtcbiAgICAgICAgdGhpcy5tYXhQbGF5ZXJzID0gc2VydmVyLmdldENvbmZpZygpLmdldE1heFBsYXllcnMoKTtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IChzZXJ2ZXIgYXMgYW55KS5nZXRJZGVudGlmaWVycygpLlByb3RvY29sO1xuICAgICAgICB0aGlzLnZlcnNpb24gPSAoc2VydmVyIGFzIGFueSkuZ2V0SWRlbnRpZmllcnMoKS5NaW5lY3JhZnRWZXJzaW9ucy5hdCgwKSE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBtZXNzYWdlIG9mIHRoZSBkYXkuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gdGhlIG1lc3NhZ2Ugb2YgdGhlIGRheS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TW90ZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tb3RkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIG1lc3NhZ2Ugb2YgdGhlIGRheS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbW90ZCAtIFRoZSBtZXNzYWdlIG9mIHRoZSBkYXkuXG4gICAgICovXG4gICAgcHVibGljIHNldE1vdGQobW90ZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW90ZCA9IG1vdGQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzZXJ2ZXIgbmFtZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgc2VydmVyIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBzZXJ2ZXIgbmFtZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBzZXJ2ZXIgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHByb3RvY29sIHZlcnNpb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gVGhlIHByb3RvY29sIHZlcnNpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldFByb3RvY29sKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvY29sO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIHByb3RvY29sIHZlcnNpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHByb3RvY29sIC0gVGhlIHByb3RvY29sIHZlcnNpb24uXG4gICAgICovXG4gICAgcHVibGljIHNldFByb3RvY29sKHByb3RvY29sOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IHByb3RvY29sO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgdmVyc2lvbiBvZiB0aGUgc2VydmVyLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB2ZXJzaW9uIG9mIHRoZSBzZXJ2ZXIuXG4gICAgICovXG4gICAgcHVibGljIGdldFZlcnNpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmVyc2lvbjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSB2ZXJzaW9uIG9mIHRoZSBzZXJ2ZXIuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHZlcnNpb24gLSBUaGUgdmVyc2lvbiBvZiB0aGUgc2VydmVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRWZXJzaW9uKHZlcnNpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgYW1vdW50IG9mIG9ubGluZSBwbGF5ZXJzLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBhbW91bnQgb2Ygb25saW5lIHBsYXllcnMuXG4gICAgICovXG4gICAgcHVibGljIGdldE9ubGluZVBsYXllckNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm9ubGluZVBsYXllcnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgYW1vdW50IG9mIG9ubGluZSBwbGF5ZXJzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBjb3VudCAtIFRoZSBhbW91bnQgb2Ygb25saW5lIHBsYXllcnMuXG4gICAgICovXG4gICAgcHVibGljIHNldE9ubGluZVBsYXllckNvdW50KGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbmxpbmVQbGF5ZXJzID0gY291bnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBtYXhpbXVtIGFtb3VudCBvZiBwbGF5ZXJzLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFRoZSBtYXhpbXVtIGFtb3VudCBvZiBwbGF5ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNYXhQbGF5ZXJDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXhQbGF5ZXJzO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIG1heGltdW0gYW1vdW50IG9mIHBsYXllcnMuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGNvdW50IC0gVGhlIG1heGltdW0gYW1vdW50IG9mIHBsYXllcnMuXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgcHVibGljIHNldE1heFBsYXllckNvdW50KGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXhQbGF5ZXJzID0gY291bnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdhbWVtb2RlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhbWVtb2RlO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0R2FtZW1vZGUoZ2FtZW1vZGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmdhbWVtb2RlID0gZ2FtZW1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlcnZlcklkKCk6IGJpZ2ludCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZlcklkO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0U2VydmVySWQoaWQ6IGJpZ2ludCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZlcklkID0gaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgJ01DUEUnLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0TW90ZCgpIHx8ICdFeGFtcGxlIG1vdGQnLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UHJvdG9jb2woKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldE9ubGluZVBsYXllckNvdW50KCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRNYXhQbGF5ZXJDb3VudCgpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VydmVySWQoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldEdhbWVtb2RlKClcbiAgICAgICAgICAgIF0uam9pbignOycpICsgJzsnXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFhLGFBQWIsTUFBd0I7Q0FDcEI7Q0FDQTtDQUNBLE9BQWU7Q0FDZjtDQUNBO0NBQ0E7Q0FDQSxnQkFBZ0M7Q0FDaEM7Q0FDQSxXQUFtQjs7Ozs7Q0FNbkIsWUFBbUIsUUFBYTtFQUM1QixLQUFLLFNBQVM7RUFDZCxLQUFLLE9BQU8sT0FBTyxVQUFVLEVBQUUsUUFBUTtFQUN2QyxLQUFLLFdBQVcsT0FBTyxVQUFVLEVBQUUsWUFBWTtFQUMvQyxLQUFLLGFBQWEsT0FBTyxVQUFVLEVBQUUsY0FBYztFQUNuRCxLQUFLLFdBQVksT0FBZSxlQUFlLEVBQUU7RUFDakQsS0FBSyxVQUFXLE9BQWUsZUFBZSxFQUFFLGtCQUFrQixHQUFHLENBQUM7Q0FDMUU7Ozs7O0NBTUEsVUFBeUI7RUFDckIsT0FBTyxLQUFLO0NBQ2hCOzs7OztDQUtBLFFBQWUsTUFBb0I7RUFDL0IsS0FBSyxPQUFPO0NBQ2hCOzs7OztDQU1BLFVBQXlCO0VBQ3JCLE9BQU8sS0FBSztDQUNoQjs7Ozs7Q0FLQSxRQUFlLE1BQW9CO0VBQy9CLEtBQUssT0FBTztDQUNoQjs7Ozs7Q0FNQSxjQUE2QjtFQUN6QixPQUFPLEtBQUs7Q0FDaEI7Ozs7O0NBS0EsWUFBbUIsVUFBd0I7RUFDdkMsS0FBSyxXQUFXO0NBQ3BCOzs7OztDQU1BLGFBQTRCO0VBQ3hCLE9BQU8sS0FBSztDQUNoQjs7Ozs7Q0FLQSxXQUFrQixTQUF1QjtFQUNyQyxLQUFLLFVBQVU7Q0FDbkI7Ozs7O0NBTUEsdUJBQXNDO0VBQ2xDLE9BQU8sS0FBSztDQUNoQjs7Ozs7Q0FLQSxxQkFBNEIsT0FBcUI7RUFDN0MsS0FBSyxnQkFBZ0I7Q0FDekI7Ozs7O0NBTUEsb0JBQW1DO0VBQy9CLE9BQU8sS0FBSztDQUNoQjs7Ozs7O0NBTUEsa0JBQXlCLE9BQXFCO0VBQzFDLEtBQUssYUFBYTtDQUN0QjtDQUVBLGNBQTZCO0VBQ3pCLE9BQU8sS0FBSztDQUNoQjtDQUNBLFlBQW1CLFVBQXdCO0VBQ3ZDLEtBQUssV0FBVztDQUNwQjtDQUVBLGNBQTZCO0VBQ3pCLE9BQU8sS0FBSztDQUNoQjtDQUNBLFlBQW1CLElBQWtCO0VBQ2pDLEtBQUssV0FBVztDQUNwQjtDQUVBLFdBQTBCO0VBQ3RCLE9BQ0k7R0FDSTtHQUNBLEtBQUssUUFBUSxLQUFLO0dBQ2xCLEtBQUssWUFBWTtHQUNqQixLQUFLLFdBQVc7R0FDaEIsS0FBSyxxQkFBcUI7R0FDMUIsS0FBSyxrQkFBa0I7R0FDdkIsS0FBSyxZQUFZO0dBQ2pCLEtBQUssUUFBUTtHQUNiLEtBQUssWUFBWTtFQUNyQixFQUFFLEtBQUssR0FBRyxJQUFJO0NBRXRCO0FBQ0oifQ==