public CharPlayer(Player player, CharServer server) { _server = server; _player = player; _user = player.TnUser <UserData>(); _player.NetUserDataChanged += Player_NetUserDataChanged; }
public void Destroy() { _player.NetUserDataChanged -= Player_NetUserDataChanged; m_data.Clear(); m_data = null; _user = null; _player = null; _server = null; }
public void Destroy() { _player.NetUserDataChanged -= Player_NetUserDataChanged; _data.RemoveAll(x => x.ID == _user.Char); CharsMgr.RemoveCharacters(_data); _data.Clear(); _data = null; _user = null; _player = null; _server = null; }
public static void Main() { try { CharServer.LoginServerConnection = new InteroperabilityClient(new IPEndPoint( Settings.GetIPAddress("IP", "Interconnection"), Settings.GetInt("Port", "Interconnection")), Settings.GetString("SecurityCode", "Interconnection")); CharServer.LoginServerConnection.Loop(); } catch (Exception e) { Log.Error("Server connection failed: \n{0}", e.ToString()); CharServer.Stop(); } }
public bool Startup() { DB_Map map; string[] list; MapServer mapServer; int id; if (Load()) { if (Configs.Get <bool>(Configs.Server_Master)) { (_master = new MasterServer()).Start(); } if (Configs.Get <bool>(Configs.Server_Characters)) { (_characters = new CharServer()).Start(); } if (Configs.Get <bool>(Configs.Server_AllMaps)) { foreach (var item in DataMgr.SelectAllMaps()) { _maps.Add(mapServer = new MapServer(item)); mapServer.Start(); } } else { list = Configs.Get <string>(Configs.Server_MapList).Split(';'); foreach (var item in list) { if (int.TryParse(item, out id) && DataMgr.Select(id, out map)) { _maps.Add(mapServer = new MapServer(map)); mapServer.Start(); } } } IsRunning = true; InitializeCMD(); return(true); } return(false); }
public async Task <bool> Startup() { if (await LoadAsync()) { if (Configs.Get <bool>(Configs.Server_Master)) { (_master = new MasterServer()).Start(); } if (Configs.Get <bool>(Configs.Server_Characters)) { (_characters = new CharServer()).Start(); } if (Configs.Get <bool>(Configs.Server_AllMaps)) { foreach (var item in DataMgr.SelectAllMaps()) { var mapServer = new MapServer(item); _maps.Add(mapServer = new MapServer(item)); mapServer.Start(); } } else { var list = Configs.Get <string>(Configs.Server_MapList).Split(';'); foreach (var item in list) { if (int.TryParse(item, out var id) && DataMgr.Select(id, out DB_Map map)) { var mapServer = new MapServer(map); _maps.Add(mapServer); mapServer.Start(); } } } IsRunning = true; InitializeCMD(); return(true); } return(false); }
public void AddServer(byte index,string serverName,short playerCount,CharServer.Status ping) { this.numberOfServers++; byte[] tempdata = new byte[this.data.Length +39]; this.data.CopyTo(tempdata, 0); this.data = tempdata; this.PutByte(this.numberOfServers, 4); int currentPos = 5 + ((this.numberOfServers-1) * 39); //server index //this.PutByte((byte)(this.numberOfServers-1),(ushort)currentPos); this.PutByte(index,(ushort)currentPos); //server name if(serverName.Length > 16) serverName = Global.SetStringLength(serverName, 16); this.PutString(serverName, (ushort)(currentPos + 1)); //server ping this.PutByte((byte)ping,(ushort)(currentPos + 1 + 34)); //chars on server this.PutByte((byte)playerCount,(ushort)(currentPos + 1 + 34 + 1)); }
public CharServerScript(CharServer server) { m_server = server; server.Room.SubscribeRpcsOnObject(this); }
protected override void StopServer() { CharServer.Stop(); }