docs: function GameServer(options, channel) {
      EventEmitter.call(this);
      this.setMaxListeners(0);
  
      /**
       * ### GameServer.options
       *
       * Reference to the user options defined in the server channel
       */
      this.options = options;
  
      /**
       * ### GameServer.channel
       *
       * Reference to the _ServerChannel_ in which the game server is created
       *
       * @see ServerChannel
       */
      this.channel = channel;
  
      /**
       * ### GameServer.servernode
       *
       * Reference to the _ServerNode_
       *
       * @see ServerNode
       */
      this.servernode = this.channel.servernode;
  
      /**
       * ### GameServer.registry
       *
       * Reference to _ChannelRegistry_ inside the server channel
       *
       * @see GameServer.channel
       * @see ChannelRegistry
       */
      this.registry = channel.registry;
  
      /**
       * ### GameServer.session
       *
       * The session ID as created by the channel.
       */
      this.session = channel.session;
  
      /**
       * ### GameServer.endpoint
       *
       * The endpoint under which the server is reachable
       */
      this.endpoint = '/' + options.endpoint;
  
      /**
       * ### GameServer.name
       *
       * The name of the server
       */
      this.name = options.name;
  
      /**
       * ### GameServer.serverid
       *
       * A random id for the server
       */
      this.serverid = '' + Math.random()*1000000000;
  
      /**
       * ### GameServer.sysLogger
       *
       * Logger of system events
       */
      this.sysLogger = Logger.get('channel', { name: this.name });
  
      /**
       * ### GameServer.msgLogger
       *
       * Logger of incoming / outgoing game messages
       */
      this.msgLogger = Logger.get('messages', { name: this.name });
  
      /**
       * ### GameServer.socket
       *
       * Socket manager for the server
       *
       * @see SocketManager
       */
      this.socketManager = new SocketManager(this);
  
      /**
       * ### GameServer.msg
       *
       * Game message generator
       *
       * @see GameMsgGenerator
       */
      this.msg = new GameMsgGenerator(this);
  
      /**
       * ### GameServer.partner
       *
       * The partner game server (Admin or Player)
       *
       * @see AdminServer
       * @see PlayerServer
       */
      this.partner = null;
  
      /**
       * ### GameServer.sio
       *
       * Reference to the Socket.io App in the ServerNode
       *
       * @see ServerNode
       * @see ServerChannel
       */
      this.sio = channel.sio;
  
      /**
       * ### GameServer.authCb
       *
       * An authorization callback
       */
      this.authCb = null;
  
      /**
       * ### GameServer.accessDeniedUrl
       *
       * The url of the page to which unauthorized clients will be redirected
       */
      this.accessDeniedUrl = options.accessDeniedUrl;
  
      /**
       * ### GameServer.generateClientId
       *
       * Client IDs generator callback.
       */
      this.generateClientId = null;
  
      /**
       * ### GameServer.enableReconnections
       *
       * If TRUE, clients can reconnect to same game room
       *
       * Clients will be matched with previous game history based on
       * the clientId found in their cookies.
       */
      this.enableReconnections = !!options.enableReconnections;
  
      /**
       * ### GameServer.antiSpoofing
       *
       * If TRUE, server asks clients to send along their sid in each msg
       */
      this.antiSpoofing = !!options.antiSpoofing;
  
  
  }