public void OnResourcePackClientResponsePacket(ResourcePackClientResponsePacket packet) { if (packet.ResponseStatus == ResourcePackClientResponsePacket.STATUS_REFUSED) { Close("disconnectionScreen.resourcePack"); } else if (packet.ResponseStatus == ResourcePackClientResponsePacket.STATUS_SEND_PACKS) { //TODO: ResourcePackDataInfoPacket } else if (packet.ResponseStatus == ResourcePackClientResponsePacket.STATUS_HAVE_ALL_PACKS) { ResourcePackStackPacket resourcePackStackPacket = new ResourcePackStackPacket(); SendDataPacket(resourcePackStackPacket); } else if (packet.ResponseStatus == ResourcePackClientResponsePacket.STATUS_COMPLETED) { StartGamePacket startGamePacket = new StartGamePacket(); SendDataPacket(startGamePacket); PlayStatusPacket playStatusPacket = new PlayStatusPacket(); playStatusPacket.Status = PlayStatusPacket.PLAYER_SPAWN; SendDataPacket(playStatusPacket); } }
public void SendPlayStatus(int status) { PlayStatusPacket pk = new PlayStatusPacket(); pk.Status = status; this.SendPacket(pk); }
public void SendPlayStatus(int status, int flag = RakNetProtocol.FlagNormal) { PlayStatusPacket pk = new PlayStatusPacket { Status = status }; this.SendPacket(pk, flag: flag); }
private void LoginSuccess() { PlayStatusPacket pk = new PlayStatusPacket(); pk.Status = PlayStatusPacket.LOGIN_SUCCESS; SendDataPacket(pk); ResourcePacksInfoPacket pk2 = new ResourcePacksInfoPacket(); SendDataPacket(pk2); }
private void OnLoginPacket(LoginPacket packet) { LoginData = packet.LoginData; ClientData = packet.ClientData; PlayStatusPacket pk = new PlayStatusPacket(); if (packet.Protocol > Protocol.ProtocolNumber) { pk.Status = PlayStatusPacket.LOGIN_FAILED_SERVER; SendDataPacket(pk); _logger.Info("minecore.login.failedServer", LoginData.DisplayName, ClientPeer.PeerEndPoint); return; } if (packet.Protocol < Protocol.ProtocolNumber) { pk.Status = PlayStatusPacket.LOGIN_FAILED_CLIENT; SendDataPacket(pk); _logger.Info("minecore.login.failedClient", LoginData.DisplayName, ClientPeer.PeerEndPoint); return; } if (ServerListData.JoinedPlayer > ServerListData.MaxPlayer) { pk.Status = PlayStatusPacket.LOGIN_FAILED_SERVER_FULL; SendDataPacket(pk); _logger.Info("minecore.login.serverFull", LoginData.DisplayName, ClientPeer.PeerEndPoint); return; } if (ServerConfig.UseXboxLiveAuth && !packet.TokenValidated) { Close("disconnectionScreen.notAuthenticated"); _logger.Info("minecore.login.faildXbox", LoginData.DisplayName, ClientPeer.PeerEndPoint); return; } _logger.Info(StringManager.GetString("minecore.login", LoginData.DisplayName, EntityId, ClientPeer.PeerEndPoint)); if (ServerConfig.UseEncryption) { // TODO: Generate Jwt ServerToClientHandshakePacket handshake = new ServerToClientHandshakePacket(); handshake.Token = ""; SendDataPacket(handshake); } else { LoginSuccess(); } }