'Negotiate all the information.
Args:
option (Option): Not used.'

def do_mssp(self, option):

    self.mssp_table = {'NAME': 'Evennia', 'PLAYERS': self.get_player_count, 'UPTIME': self.get_uptime, 'CRAWL    DELAY': '-1', 'HOSTNAME': '', 'PORT': ['4000'], 'CODEBASE': 'Evennia', 'CONTACT': '', 'CREATED': '', 'ICON': '', 'IP': '', 'LANGUAGE': '', 'LOCATION': '', 'MINIMUM    AGE': '0', 'WEBSITE': 'www.evennia.com', 'FAMILY': 'Custom', 'GENRE': 'None', 'GAMEPLAY': 'None', 'STATUS': 'Open    Beta', 'GAMESYSTEM': 'Custom', 'SUBGENRE': 'None', 'AREAS': '0', 'HELPFILES': '0', 'MOBILES': '0', 'OBJECTS': '0', 'ROOMS': '0', 'CLASSES': '0', 'LEVELS': '0', 'RACES': '0', 'SKILLS': '0', 'ANSI': '1', 'GMCP': '0', 'ATCP': '0', 'MCCP': '0', 'MCP': '0', 'MSDP': '0', 'MSP': '0', 'MXP': '0', 'PUEBLO': '0', 'SSL': '1', 'UTF-8': '1', 'ZMP': '0', 'VT100': '0', 'XTERM    256    COLORS': '0', 'PAY    TO    PLAY': '0', 'PAY    FOR    PERKS': '0', 'HIRING    BUILDERS': '0', 'HIRING    CODERS': '0', 'DBSIZE': '0', 'EXITS': '0', 'EXTRA    DESCRIPTIONS': '0', 'MUDPROGS': '0', 'MUDTRIGS': '0', 'RESETS': '0', 'ADULT    MATERIAL': '0', 'MULTICLASSING': '0', 'NEWBIE    FRIENDLY': '0', 'PLAYER    CITIES': '0', 'PLAYER    CLANS': '0', 'PLAYER    CRAFTING': '0', 'PLAYER    GUILDS': '0', 'EQUIPMENT    SYSTEM': 'None', 'MULTIPLAYING': 'None', 'PLAYERKILLING': 'None', 'QUEST    SYSTEM': 'None', 'ROLEPLAYING': 'None', 'TRAINING    SYSTEM': 'None', 'WORLD    ORIGINALITY': 'None'}
    if MSSPTable_CUSTOM:
        self.mssp_table.update(MSSPTable_CUSTOM)
    varlist = ''
    for (variable, value) in self.mssp_table.items():
        if callable(value):
            value = value()
        if utils.is_iter(value):
            for partval in value:
                varlist += (((MSSP_VAR + str(variable)) + MSSP_VAL) + str(partval))
        else:
            varlist += (((MSSP_VAR + str(variable)) + MSSP_VAL) + str(value))
    self.protocol.requestNegotiation(MSSP, varlist)
    self.protocol.handshake_done()
