import mpserver

_imports = []
_parents = []
_version = 1

def _Sys_Create(self, **createArgs):
  self._persist = 1
  self.accounts = {}
  self.avatars = []
  self.conntectedAccounts = {}

def _Sys_Boot(self, bootArgs):
  mpserver.MudServer(mudWorld, int(bootArgs["Port"]), 50, worldObj, "avatar_parse", mpserver.TelnetClient)

def _Sys_Load(self):
  for avatar in self.avatars:
    DelObj(avatar)
  self.avatars = []
  self.connectedAccounts = {}

def _Sys_ClientConnect(self, client):
  for avatar in self.avatars:
    if avatar.client.ipAddr == client.ipAddr:
      client.avatarObj.Send("Someone is already connected from this address.\r\n")
  client.avatarObj.OnConnect()
  self.avatars.append(client.avatarObj)

def _Sys_ClientDisconnect(self, client):
  self.HandleDisconnect(client.avatarObj)

def _Sys_ClientLinkdeath(self, client):
  client.avatarObj.OnLinkdeath()
  self.HandleDisconnect(client.avatarObj)

def _Sys_LogString(self, logString):
  pass

def HandleDisconnect(self, avatar):
  if avatar.account != None:
    avatar.account.Logout()
  DelObj(avatar)
  self.avatars.remove(avatar)