public bool TryConnect(Client client) { if (client?.Account == null) { return(false); } client.Id = Interlocked.Increment(ref _nextClientId); var plrInfo = new PlayerInfo { AccountId = client.Account.AccountId, GuildId = client.Account.GuildId, Name = client.Account.Name, WorldInstance = -1 }; Clients[client] = plrInfo; // recalculate usage statistics Config.serverInfo.players = ConMan.GetPlayerCount(); Config.serverInfo.maxPlayers = Config.serverSettings.maxPlayers; Config.serverInfo.queueLength = ConMan.QueueLength(); Config.serverInfo.playerList.Add(plrInfo); return(true); }
public void Disconnect(Client client) { var player = client.Player; player?.Owner?.LeaveWorld(player); PlayerInfo plrInfo; Clients.TryRemove(client, out plrInfo); // recalculate usage statistics Config.serverInfo.players = ConMan.GetPlayerCount(); Config.serverInfo.playerList.Remove(plrInfo); }
public void Disconnect(Client client) { var player = client.Player; player?.Owner?.LeaveWorld(player); Clients.TryRemove(client, out var plrInfo); // recalculate usage statistics Config.serverInfo.players = ConMan.GetPlayerCount(); Config.serverInfo.maxPlayers = Config.serverSettings.maxPlayers; Config.serverInfo.queueLength = ConMan.QueueLength(); Config.serverInfo.playerList.Remove(plrInfo); }
protected override T ExecuteCommand <T>(DBQueryEnum enEnum, string Command) { try { using (var con = ConMan.CreateOpenConnection <IDbConnection>()) { if (enEnum == DBQueryEnum.CREATE) { var trans = con.BeginTransaction(); try { var da = ConMan.CreateDataAdapter <IDbDataAdapter, IDbConnection>(Command, con); da.SelectCommand.ExecuteNonQuery(); //commit transaction trans.Commit(); return((T)(object)true); } catch (Exception) { try { //try to rollback transaction trans.Rollback(); } catch (Exception) { return((T)(object)false); } } } if (enEnum == DBQueryEnum.INSERT) { var trans = con.BeginTransaction(); try { var da = ConMan.CreateDataAdapter <IDbDataAdapter, IDbConnection>(Command, con); da.SelectCommand.ExecuteNonQuery(); //commit transaction trans.Commit(); return((T)(object)true); } catch (Exception) { try { //try to rollback transaction trans.Rollback(); } catch (Exception) { return((T)(object)false); } } } if (typeof(T) == typeof(List <string>)) { List <string> list = new List <string>(); using (var com = ConMan.CreateCommand <IDbCommand, IDbConnection>(Command, con)) { using (var reader = com.ExecuteReader()) { if (reader.FieldCount < 1) { return((T)(object)list); } while (reader.Read()) { string row = ""; for (int i = 0; i < reader.FieldCount; i++) { row += reader.GetValue(i).ToString(); } list.Add(row); //list.Add((string)reader[_commandReader]); } return((T)(object)list); } } } } } catch (MySqlException ex) { ErrorMessage = ex.Message; } return((T)(object)false); }