2021-02-20 12:55:36 -05:00
|
|
|
import { ChannelTree } from "./ChannelTree";
|
|
|
|
import * as contextmenu from "../ui/elements/ContextMenu";
|
|
|
|
import { Registry } from "../events";
|
|
|
|
import { ChannelTreeEntry, ChannelTreeEntryEvents } from "./ChannelTreeEntry";
|
|
|
|
export declare class ServerProperties {
|
|
|
|
virtualserver_host: string;
|
|
|
|
virtualserver_port: number;
|
|
|
|
virtualserver_name: string;
|
|
|
|
virtualserver_name_phonetic: string;
|
|
|
|
virtualserver_icon_id: number;
|
|
|
|
virtualserver_version: string;
|
|
|
|
virtualserver_platform: string;
|
|
|
|
virtualserver_unique_identifier: string;
|
|
|
|
virtualserver_clientsonline: number;
|
|
|
|
virtualserver_queryclientsonline: number;
|
|
|
|
virtualserver_channelsonline: number;
|
|
|
|
virtualserver_uptime: number;
|
|
|
|
virtualserver_created: number;
|
|
|
|
virtualserver_maxclients: number;
|
|
|
|
virtualserver_reserved_slots: number;
|
|
|
|
virtualserver_password: string;
|
|
|
|
virtualserver_flag_password: boolean;
|
|
|
|
virtualserver_ask_for_privilegekey: boolean;
|
|
|
|
virtualserver_welcomemessage: string;
|
|
|
|
virtualserver_hostmessage: string;
|
|
|
|
virtualserver_hostmessage_mode: number;
|
|
|
|
virtualserver_hostbanner_url: string;
|
|
|
|
virtualserver_hostbanner_gfx_url: string;
|
|
|
|
virtualserver_hostbanner_gfx_interval: number;
|
|
|
|
virtualserver_hostbanner_mode: number;
|
|
|
|
virtualserver_hostbutton_tooltip: string;
|
|
|
|
virtualserver_hostbutton_url: string;
|
|
|
|
virtualserver_hostbutton_gfx_url: string;
|
|
|
|
virtualserver_codec_encryption_mode: number;
|
|
|
|
virtualserver_default_music_group: number;
|
|
|
|
virtualserver_default_server_group: number;
|
|
|
|
virtualserver_default_channel_group: number;
|
|
|
|
virtualserver_default_channel_admin_group: number;
|
|
|
|
virtualserver_default_client_description: string;
|
|
|
|
virtualserver_default_channel_description: string;
|
|
|
|
virtualserver_default_channel_topic: string;
|
|
|
|
virtualserver_antiflood_points_tick_reduce: number;
|
|
|
|
virtualserver_antiflood_points_needed_command_block: number;
|
|
|
|
virtualserver_antiflood_points_needed_ip_block: number;
|
|
|
|
virtualserver_country_code: string;
|
|
|
|
virtualserver_complain_autoban_count: number;
|
|
|
|
virtualserver_complain_autoban_time: number;
|
|
|
|
virtualserver_complain_remove_time: number;
|
|
|
|
virtualserver_needed_identity_security_level: number;
|
|
|
|
virtualserver_weblist_enabled: boolean;
|
|
|
|
virtualserver_min_clients_in_channel_before_forced_silence: number;
|
|
|
|
virtualserver_channel_temp_delete_delay_default: number;
|
|
|
|
virtualserver_priority_speaker_dimm_modificator: number;
|
|
|
|
virtualserver_max_upload_total_bandwidth: number;
|
|
|
|
virtualserver_upload_quota: number;
|
|
|
|
virtualserver_max_download_total_bandwidth: number;
|
|
|
|
virtualserver_download_quota: number;
|
|
|
|
virtualserver_month_bytes_downloaded: number;
|
|
|
|
virtualserver_month_bytes_uploaded: number;
|
|
|
|
virtualserver_total_bytes_downloaded: number;
|
|
|
|
virtualserver_total_bytes_uploaded: number;
|
|
|
|
}
|
|
|
|
export interface ServerConnectionInfo {
|
|
|
|
connection_filetransfer_bandwidth_sent: number;
|
|
|
|
connection_filetransfer_bandwidth_received: number;
|
|
|
|
connection_filetransfer_bytes_sent_total: number;
|
|
|
|
connection_filetransfer_bytes_received_total: number;
|
|
|
|
connection_filetransfer_bytes_sent_month: number;
|
|
|
|
connection_filetransfer_bytes_received_month: number;
|
|
|
|
connection_packets_sent_total: number;
|
|
|
|
connection_bytes_sent_total: number;
|
|
|
|
connection_packets_received_total: number;
|
|
|
|
connection_bytes_received_total: number;
|
|
|
|
connection_bandwidth_sent_last_second_total: number;
|
|
|
|
connection_bandwidth_sent_last_minute_total: number;
|
|
|
|
connection_bandwidth_received_last_second_total: number;
|
|
|
|
connection_bandwidth_received_last_minute_total: number;
|
|
|
|
connection_connected_time: number;
|
|
|
|
connection_packetloss_total: number;
|
|
|
|
connection_ping: number;
|
|
|
|
}
|
|
|
|
export interface ServerAddress {
|
|
|
|
host: string;
|
|
|
|
port: number;
|
|
|
|
}
|
|
|
|
export declare function parseServerAddress(address: string): ServerAddress | undefined;
|
2021-03-20 11:18:05 -04:00
|
|
|
export declare function stringifyServerAddress(address: ServerAddress): string;
|
2021-02-20 12:55:36 -05:00
|
|
|
export interface ServerEvents extends ChannelTreeEntryEvents {
|
|
|
|
notify_properties_updated: {
|
|
|
|
updated_properties: Partial<ServerProperties>;
|
|
|
|
server_properties: ServerProperties;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
export declare class ServerEntry extends ChannelTreeEntry<ServerEvents> {
|
|
|
|
remote_address: ServerAddress;
|
|
|
|
channelTree: ChannelTree;
|
|
|
|
properties: ServerProperties;
|
|
|
|
readonly events: Registry<ServerEvents>;
|
|
|
|
private info_request_promise;
|
|
|
|
private info_request_promise_resolve;
|
|
|
|
private info_request_promise_reject;
|
|
|
|
private _info_connection_promise;
|
|
|
|
private _info_connection_promise_timestamp;
|
|
|
|
private _info_connection_promise_resolve;
|
|
|
|
private _info_connection_promise_reject;
|
|
|
|
lastInfoRequest: number;
|
|
|
|
nextInfoRequest: number;
|
|
|
|
private _destroyed;
|
|
|
|
constructor(tree: any, name: any, address: ServerAddress);
|
|
|
|
destroy(): void;
|
|
|
|
contextMenuItems(): contextmenu.MenuEntry[];
|
|
|
|
showContextMenu(x: number, y: number, on_close?: () => void): void;
|
|
|
|
updateVariables(is_self_notify: boolean, ...variables: {
|
|
|
|
key: string;
|
|
|
|
value: string;
|
|
|
|
}[]): void;
|
|
|
|
updateProperties(): Promise<void>;
|
|
|
|
request_connection_info(): Promise<ServerConnectionInfo>;
|
|
|
|
set_connection_info(info: ServerConnectionInfo): void;
|
|
|
|
shouldUpdateProperties(): boolean;
|
|
|
|
calculateUptime(): number;
|
|
|
|
reset(): void;
|
|
|
|
}
|