docs: function SocketIo(gameServer) {
  
      /**
       * ### SocketIo.name
       *
       * The name of the socket.
       */
      this.name = 'sio';
  
      /**
       * ### Socket.gameServer
       *
       * Reference to the game server in which the socket is created.
       *
       * @see GameServer
       */
      this.gameServer = gameServer;
  
      /**
       * ### Socket.sio
       *
       * Reference to the Socket.IO app of the game server
       *
       * @see GameServer
       */
      this.sio = this.gameServer.sio;
  
      /**
       * ### SocketIo.sioChannel
       *
       * The Socket.IO internal channel
       */
      this.sioChannel = null;
  
      /**
       * ### SocketIo.sidPrefix
       *
       * The prefix to be added to the id of every client connected to the socket
       *
       * Must have exactly 2 characters and be unique for every socket.
       */
      this.sidPrefix = this.gameServer.ADMIN_SERVER ? 'SA' : 'SP';
  
      /**
       * ### SocketIo.sidPrefixStrip
       *
       * The prefix to be stripped from sid for internal operations
       *
       * Sids are represented as SA/endpoint#sid, but in sockets.connected
       * they are saved as /#sid. Note: endpoints already start with a /.
       *
       * Notice: this depends on how Socket.io represets sid internally.
       * If they change the internal structure it needs to be adapted.
       *
       * @see SocketIo.disconnect
       */
      this.sidPrefixStrip = this.sidPrefix + this.gameServer.endpoint;
  
      /**
       * ### SocketIo.sidPrefixStripLen
       *
       * The length of the prefix to be stripped from sid for internal operations
       *
       * @see SocketIo.sidPrefixStrip
       * @see SocketIo.disconnect
       */
      this.sidPrefixStripLen = this.sidPrefixStrip.length;
  }