public ServerInfo() : base( 0x04 )
{
string netVer = Environment.Version.ToString();
string os = Environment.OSVersion.ToString();
EnsureCapacity( 1 + 2 + (10*4) + netVer.Length+1 + os.Length+1 );
int banned = 0;
int active = 0;
foreach ( Account acct in Accounts.GetAccounts() )
{
if ( acct.Banned )
++banned;
else
++active;
}
m_Stream.Write( (int) active );
m_Stream.Write( (int) banned );
m_Stream.Write( (int) Firewall.List.Count );
m_Stream.Write( (int) NetState.Instances.Count );
m_Stream.Write( (int) World.Mobiles.Count );
m_Stream.Write( (int) Core.ScriptMobiles );
m_Stream.Write( (int) World.Items.Count );
m_Stream.Write( (int) Core.ScriptItems );
m_Stream.Write( (uint)(DateTime.Now - Clock.ServerStart).TotalSeconds );
m_Stream.Write( (uint) GC.GetTotalMemory( false ) ); // TODO: uint not sufficient for TotalMemory (long). Fix protocol.
m_Stream.WriteAsciiNull( netVer );
m_Stream.WriteAsciiNull( os );
}
}