internal QBoolean ClientConnect(Edict.Native *pEntity, string name, string address, byte *szRejectReason)
        {
            try
            {
                var result = GameClients.Connect(EntityDictionary.EdictFromNative(pEntity), name, address, out var rejectReason);

                InterfaceUtils.CopyStringToUnmanagedBuffer(rejectReason ?? string.Empty, szRejectReason, Interfaces.DLLFunctions.ClientConnectRejectReasonLength);

                return(result ? QBoolean.True : QBoolean.False);
            }
            catch (Exception e)
            {
                Log.Exception(e);
                throw;
            }
        }