public MinecraftServer(MinecraftRunner runner, ServerHub hub, string serverFolder, Settings settings) { Runner = runner; Hub = hub; MinecraftServerFolder = serverFolder; Settings = settings; ConsecutiveErrors = 0; MessageHandler = new MessageHandler(this); MessageHandler.DoneMessageEvent += MessageHandler_DoneMessageEvent; MessageHandler.PlayerMessageEvent += MessageHandler_PlayerMessageEvent; MessageHandler.PlayersEvent += MessageHandler_PlayersEvent; MessageHandler.TpsMessageEvent += MessageHandler_TpsMessageEvent; MessageHandler.PlayerJoinedEvent += MessageHandler_PlayerJoinedEvent; MessageHandler.PlayerLeftEvent += MessageHandler_PlayerLeftEvent; Hub.HubConnectionEstablished += Hub_HubConnectionEstablished; Hub.KeepAlive += Hub_KeepAlive; Hub.ChatMessageReceived += Hub_ChatMessageReceived; Hub.ServerCommandReceived += Hub_ServerCommandReceived; Data = new ServerData(name: "test"); ServerRunLoop = new CancellableRunLoop(); ServerRunLoop.LoopIterationEvent += ServerRunLoop_LoopIterationEvent; DataUpdateTimer = new System.Timers.Timer(TimeSpan.FromSeconds(30).TotalMilliseconds); DataUpdateTimer.Elapsed += DataUpdateTimer_Elapsed; DataUpdateTimer.AutoReset = true; DataUpdateTimer.Enabled = true; }
public ServerHub(Uri uri) { HubUri = uri; ConnectLoop = new CancellableRunLoop(); ConnectLoop.LoopIterationEvent += ConnectLoop_LoopIterationEvent; Socket = new WebSocketWrapper(HubUri); Socket.KeepAlive += Socket_KeepAlive; Socket.OnConnected += Socket_OnConnected; Socket.DataReceived += Socket_DataReceived; }