public ValueTask SendAsync(IInnerPlayerControl player, string text, IClient?targetClient = null) { var data = _writerProvider.Get(); Serialize(data, text); return(base.SendAsync(player, data, targetClient?.Id ?? null)); }
public async ValueTask OnClientConnectedEventAsync(IClientConnectedEvent e) { var clientInfo = e.Connection.GetReactor(); if (clientInfo == null) { return; } if (clientInfo.Version < ReactorProtocolVersion.Initial || clientInfo.Version > ReactorProtocolVersion.Latest) { await e.Client.DisconnectAsync(DisconnectReason.Custom, "Unsupported Reactor.Networking protocol version"); return; } using var writer = _messageWriterProvider.Get(MessageType.Reliable); ModdedHandshakeS2C.Serialize(writer, "Impostor", _serverEnvironment.Version, 0); await e.Connection.SendAsync(writer); }