Ignore:
Timestamp:
Aug 30, 2014, 8:08:25 PM (10 years ago)
Author:
alloc
Message:

Fixes

Location:
binary-improvements/7dtd-server-fixes/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/src/AllocsLogFunctions.cs

    r144 r146  
    3030
    3131                                PersistentContainer.Instance.Players[steamId].SetOnline(ci);
     32                                PersistentData.PersistentContainer.Instance.Save ();
    3233                        } catch (Exception e) {
    3334                                Log.Out ("Error in AllocsLogFunctions.RequestToSpawnPlayer: " + e);
     
    4243                                if (players.SteamIDs.Contains(steamId))
    4344                                        players[steamId].SetOffline();
     45                                PersistentData.PersistentContainer.Instance.Save ();
    4446                        } catch (Exception e) {
    4547                                Log.Out ("Error in AllocsLogFunctions.PlayerDisconnected: " + e);
  • binary-improvements/7dtd-server-fixes/src/CommandExtensions.cs

    r140 r146  
    1717                                manager.m_GUIConsole.AddCommand (new Kill (manager.m_GUIConsole));
    1818                                manager.m_GUIConsole.AddCommand (new ListItems (manager.m_GUIConsole));
     19                                manager.m_GUIConsole.AddCommand (new ListKnownPlayers (manager.m_GUIConsole));
    1920                                manager.m_GUIConsole.AddCommand (new ListLandProtection (manager.m_GUIConsole));
    2021                                manager.m_GUIConsole.AddCommand (new ListPlayersExtended (manager.m_GUIConsole));
  • binary-improvements/7dtd-server-fixes/src/CustomCommands/ListLandProtection.cs

    r139 r146  
    5959                                        foreach (KeyValuePair<PersistentPlayerData, List<Vector3i>> kvp in owners) {
    6060                                                if (steamIdFilter.Length == 0 || kvp.Key.PlayerId.Equals (steamIdFilter)) {
    61                                                         ClientInfo ci = CommonMappingFunctions.GetClientInfoFromEntityID (kvp.Key.EntityId);
    62                                                         string name = string.Empty;
    63                                                         if (ci != null) {
    64                                                                 name = CommonMappingFunctions.GetPlayerName (ci);
    65                                                         }
     61                                                        string name = PersistentData.PersistentContainer.Instance.Players[kvp.Key.PlayerId].Name;
    6662                                                        name += " (" + kvp.Key.PlayerId + ")";
    6763
  • binary-improvements/7dtd-server-fixes/src/PersistentData/PersistentContainer.cs

    r144 r146  
    4545                {
    4646                        if (File.Exists (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin")) {
    47                                 PersistentContainer obj;
    48                                 Stream stream = File.Open (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Open);
    49                                 BinaryFormatter bFormatter = new BinaryFormatter ();
    50                                 obj = (PersistentContainer)bFormatter.Deserialize (stream);
    51                                 stream.Close ();
    52                                 instance = obj;
    53                                 return true;
    54                         } else
    55                                 return false;
     47                                try {
     48                                        PersistentContainer obj;
     49                                        Stream stream = File.Open (StaticDirectories.GetSaveGameDir () + "/AllocsPeristentData.bin", FileMode.Open);
     50                                        BinaryFormatter bFormatter = new BinaryFormatter ();
     51                                        obj = (PersistentContainer)bFormatter.Deserialize (stream);
     52                                        stream.Close ();
     53                                        instance = obj;
     54                                        return true;
     55                                } catch (Exception e) {
     56                                        Log.Out ("Exception in PersistentContainer.Load: " + e.Message);
     57                                }
     58                        }
     59                        return false;
    5660                }
    5761
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Player.cs

    r145 r146  
    1313                private string ip;
    1414                private long totalPlayTime;
     15                [OptionalField]
     16                private DateTime
     17                        lastOnline;
    1518                private Inventory inventory;
    1619                [NonSerialized]
     
    7073                }
    7174
     75                public DateTime LastOnline {
     76                        get {
     77                                if (IsOnline)
     78                                        return DateTime.Now;
     79                                else
     80                                        return lastOnline;
     81                        }
     82                }
     83
    7284                public void SetOffline ()
    7385                {
    7486                        Log.Out ("Player set to offline: " + steamId);
    7587                        totalPlayTime += (long)(Time.timeSinceLevelLoad - Entity.CreationTimeSinceLevelLoad);
     88                        lastOnline = DateTime.Now;
    7689                        clientInfo = null;
    7790                }
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Players.cs

    r145 r146  
    2929                public List<string> SteamIDs {
    3030                        get { return new List<string> (players.Keys); }
     31                }
     32
     33                public int Count {
     34                        get { return players.Count; }
    3135                }
    3236
Note: See TracChangeset for help on using the changeset viewer.