Ignore:
Timestamp:
Nov 9, 2021, 6:28:33 PM (3 years ago)
Author:
alloc
Message:

Preparations for A20 release
Changes usage of "SteamID" to "UserID" in console commands
Also changes a bunch of the WebAPI stuff to show / use UserIDs

Location:
binary-improvements/MapRendering/Web/API
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/Web/API/GetLandClaims.cs

    r351 r369  
    88                public override void HandleRequest (HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _user,
    99                        int _permissionLevel) {
    10                         string requestedSteamID = string.Empty;
    11 
    12                         if (_req.QueryString ["steamid"] != null) {
    13                                 ulong lViewersSteamID;
    14                                 requestedSteamID = _req.QueryString ["steamid"];
    15                                 if (requestedSteamID.Length != 17 || !ulong.TryParse (requestedSteamID, out lViewersSteamID)) {
     10                        PlatformUserIdentifierAbs requestedUserId = null;
     11                        if (_req.QueryString ["userid"] != null) {
     12                                if (!PlatformUserIdentifierAbs.TryFromCombinedString (_req.QueryString ["userid"], out requestedUserId)) {
    1613                                        _resp.StatusCode = (int) HttpStatusCode.BadRequest;
    17                                         Web.SetResponseTextContent (_resp, "Invalid SteamID given");
     14                                        Web.SetResponseTextContent (_resp, "Invalid user id given");
    1815                                        return;
    1916                                }
     
    2118
    2219                        // default user, cheap way to avoid 'null reference exception'
    23                         _user = _user ?? new WebConnection ("", IPAddress.None, 0L);
     20                        PlatformUserIdentifierAbs userId = _user?.UserId;
    2421
    2522                        bool bViewAll = WebConnection.CanViewAllClaims (_permissionLevel);
     
    3229
    3330                        LandClaimList.OwnerFilter[] ownerFilters = null;
    34                         if (!string.IsNullOrEmpty (requestedSteamID) || !bViewAll) {
    35                                 if (!string.IsNullOrEmpty (requestedSteamID) && !bViewAll) {
     31                        if (requestedUserId != null || !bViewAll) {
     32                                if (requestedUserId != null && !bViewAll) {
    3633                                        ownerFilters = new[] {
    37                                                 LandClaimList.SteamIdFilter (_user.SteamID.ToString ()),
    38                                                 LandClaimList.SteamIdFilter (requestedSteamID)
     34                                                LandClaimList.UserIdFilter (userId),
     35                                                LandClaimList.UserIdFilter (requestedUserId)
    3936                                        };
    4037                                } else if (!bViewAll) {
    41                                         ownerFilters = new[] {LandClaimList.SteamIdFilter (_user.SteamID.ToString ())};
     38                                        ownerFilters = new[] {LandClaimList.UserIdFilter (userId)};
    4239                                } else {
    43                                         ownerFilters = new[] {LandClaimList.SteamIdFilter (requestedSteamID)};
     40                                        ownerFilters = new[] {LandClaimList.UserIdFilter (requestedUserId)};
    4441                                }
    4542                        }
     
    5047
    5148                        foreach (KeyValuePair<Player, List<Vector3i>> kvp in claims) {
    52 //                              try {
    53                                         JSONObject owner = new JSONObject ();
    54                                         claimOwners.Add (owner);
     49                                JSONObject owner = new JSONObject ();
     50                                claimOwners.Add (owner);
    5551
    56                                         owner.Add ("steamid", new JSONString (kvp.Key.SteamID));
    57                                         owner.Add ("claimactive", new JSONBoolean (kvp.Key.LandProtectionActive));
     52                                owner.Add ("steamid", new JSONString (kvp.Key.PlatformId.CombinedString));
     53                                owner.Add ("claimactive", new JSONBoolean (kvp.Key.LandProtectionActive));
    5854
    59                                         if (kvp.Key.Name.Length > 0) {
    60                                                 owner.Add ("playername", new JSONString (kvp.Key.Name));
    61                                         } else {
    62                                                 owner.Add ("playername", new JSONNull ());
    63                                         }
     55                                if (kvp.Key.Name.Length > 0) {
     56                                        owner.Add ("playername", new JSONString (kvp.Key.Name));
     57                                } else {
     58                                        owner.Add ("playername", new JSONNull ());
     59                                }
    6460
    65                                         JSONArray claimsJson = new JSONArray ();
    66                                         owner.Add ("claims", claimsJson);
     61                                JSONArray claimsJson = new JSONArray ();
     62                                owner.Add ("claims", claimsJson);
    6763
    68                                         foreach (Vector3i v in kvp.Value) {
    69                                                 JSONObject claim = new JSONObject ();
    70                                                 claim.Add ("x", new JSONNumber (v.x));
    71                                                 claim.Add ("y", new JSONNumber (v.y));
    72                                                 claim.Add ("z", new JSONNumber (v.z));
     64                                foreach (Vector3i v in kvp.Value) {
     65                                        JSONObject claim = new JSONObject ();
     66                                        claim.Add ("x", new JSONNumber (v.x));
     67                                        claim.Add ("y", new JSONNumber (v.y));
     68                                        claim.Add ("z", new JSONNumber (v.z));
    7369
    74                                                 claimsJson.Add (claim);
    75                                         }
    76 //                              } catch {
    77 //                              }
     70                                        claimsJson.Add (claim);
     71                                }
    7872                        }
    7973
  • binary-improvements/MapRendering/Web/API/GetPlayerInventories.cs

    r349 r369  
    88                public override void HandleRequest (HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _user,
    99                        int _permissionLevel) {
    10 
    11                         bool showIconColor, showIconName;
    12                         GetPlayerInventory.GetInventoryArguments (_req, out showIconColor, out showIconName);
     10                        GetPlayerInventory.GetInventoryArguments (_req, out bool showIconColor, out bool showIconName);
    1311
    1412                        JSONArray AllInventoriesResult = new JSONArray ();
    1513
    16                         foreach (KeyValuePair<string, Player> kvp in PersistentContainer.Instance.Players.Dict) {
     14                        foreach (KeyValuePair<PlatformUserIdentifierAbs, Player> kvp in PersistentContainer.Instance.Players.Dict) {
    1715                                Player p = kvp.Value;
    1816
     
    2220
    2321                                if (p.IsOnline) {
    24                                         AllInventoriesResult.Add (GetPlayerInventory.DoPlayer (kvp.Key, p, showIconColor, showIconName));
     22                                        AllInventoriesResult.Add (GetPlayerInventory.DoPlayer (kvp.Key.CombinedString, p, showIconColor, showIconName));
    2523                                }
    2624                        }
  • binary-improvements/MapRendering/Web/API/GetPlayerInventory.cs

    r348 r369  
    88                public override void HandleRequest (HttpListenerRequest _req, HttpListenerResponse _resp, WebConnection _user,
    99                        int _permissionLevel) {
    10                         if (_req.QueryString ["steamid"] == null) {
     10                        if (_req.QueryString ["userid"] == null) {
    1111                                _resp.StatusCode = (int) HttpStatusCode.BadRequest;
    12                                 Web.SetResponseTextContent (_resp, "No SteamID given");
     12                                Web.SetResponseTextContent (_resp, "No user id given");
    1313                                return;
    1414                        }
    1515
    16                         string steamId = _req.QueryString ["steamid"];
    17 
    18                         Player p = PersistentContainer.Instance.Players [steamId, false];
    19                         if (p == null) {
    20                                 _resp.StatusCode = (int) HttpStatusCode.NotFound;
    21                                 Web.SetResponseTextContent (_resp, "Invalid or unknown SteamID given");
     16                        string userIdString = _req.QueryString ["userid"];
     17                        if (!PlatformUserIdentifierAbs.TryFromCombinedString (userIdString, out PlatformUserIdentifierAbs userId)) {
     18                                _resp.StatusCode = (int) HttpStatusCode.BadRequest;
     19                                Web.SetResponseTextContent (_resp, "Invalid user id given");
    2220                                return;
    2321                        }
    2422
    25                         bool showIconColor, showIconName;
    26                         GetInventoryArguments (_req, out showIconColor, out showIconName);
     23                        Player p = PersistentContainer.Instance.Players [userId, false];
     24                        if (p == null) {
     25                                _resp.StatusCode = (int) HttpStatusCode.NotFound;
     26                                Web.SetResponseTextContent (_resp, "Unknown user id given");
     27                                return;
     28                        }
    2729
    28                         JSONObject result = DoPlayer (steamId, p, showIconColor, showIconName);
     30                        GetInventoryArguments (_req, out bool showIconColor, out bool showIconName);
     31
     32                        JSONObject result = DoPlayer (userIdString, p, showIconColor, showIconName);
    2933
    3034                        WriteJSON (_resp, result);
     
    4953                        JSONArray belt = new JSONArray ();
    5054                        JSONObject equipment = new JSONObject ();
    51                         result.Add ("steamid", new JSONString (_steamId));
     55                        result.Add ("userid", new JSONString (_steamId));
    5256                        result.Add ("entityid", new JSONNumber (_player.EntityID));
    5357                        result.Add ("playername", new JSONString (_player.Name));
     
    8690
    8791                        for (int i = 0; i < slotindices.Length; i++) {
    88                                 if (_items != null && _items [slotindices [i]] != null) {
     92                                if (_items? [slotindices [i]] != null) {
    8993                                        InvItem item = _items [slotindices [i]];
    9094                                        _eq.Add (_slotname, GetJsonForItem (item, _showIconColor, _showIconName));
  • binary-improvements/MapRendering/Web/API/GetPlayerList.cs

    r351 r369  
    66using AllocsFixes.JSON;
    77using AllocsFixes.PersistentData;
    8 using UnityEngine.Profiling;
    98
    109namespace AllocsFixes.NetConnections.Servers.Web.API {
     
    1413
    1514#if ENABLE_PROFILER
    16                 private static readonly CustomSampler jsonSerializeSampler = CustomSampler.Create ("JSON_Build");
     15                private static readonly UnityEngine.Profiling.CustomSampler jsonSerializeSampler = UnityEngine.Profiling.CustomSampler.Create ("JSON_Build");
    1716#endif
    1817
     
    2019                        int _permissionLevel) {
    2120                        AdminTools admTools = GameManager.Instance.adminTools;
    22                         _user = _user ?? new WebConnection ("", IPAddress.None, 0L);
     21                        PlatformUserIdentifierAbs userId = _user?.UserId;
    2322
    2423                        bool bViewAll = WebConnection.CanViewAllPlayers (_permissionLevel);
     
    4746#endif
    4847
    49                         foreach (KeyValuePair<string, Player> kvp in playersList.Dict) {
     48                        foreach (KeyValuePair<PlatformUserIdentifierAbs, Player> kvp in playersList.Dict) {
    5049                                Player p = kvp.Value;
    5150
    52                                 ulong player_steam_ID;
    53                                 if (!ulong.TryParse (kvp.Key, out player_steam_ID)) {
    54                                         player_steam_ID = 0L;
    55                                 }
    56 
    57                                 if (player_steam_ID == _user.SteamID || bViewAll) {
     51                                if (bViewAll || p.PlatformId.Equals (userId)) {
    5852                                        JSONObject pos = new JSONObject ();
    5953                                        pos.Add ("x", new JSONNumber (p.LastPosition.x));
     
    6256
    6357                                        JSONObject pJson = new JSONObject ();
    64                                         pJson.Add ("steamid", new JSONString (kvp.Key));
     58                                        pJson.Add ("steamid", new JSONString (kvp.Key.CombinedString));
    6559                                        pJson.Add ("entityid", new JSONNumber (p.EntityID));
    6660                                        pJson.Add ("ip", new JSONString (p.IP));
     
    7468                                        pJson.Add ("ping", new JSONNumber (p.IsOnline ? p.ClientInfo.ping : -1));
    7569
    76                                         JSONBoolean banned;
    77                                         if (admTools != null) {
    78                                                 banned = new JSONBoolean (admTools.IsBanned (kvp.Key));
    79                                         } else {
    80                                                 banned = new JSONBoolean (false);
    81                                         }
     70                                        JSONBoolean banned = admTools != null ? new JSONBoolean (admTools.IsBanned (kvp.Key, out _, out _)) : new JSONBoolean (false);
    8271
    8372                                        pJson.Add ("banned", banned);
  • binary-improvements/MapRendering/Web/API/GetPlayersLocation.cs

    r351 r369  
    99                        int _permissionLevel) {
    1010                        AdminTools admTools = GameManager.Instance.adminTools;
    11                         _user = _user ?? new WebConnection ("", IPAddress.None, 0L);
     11                        PlatformUserIdentifierAbs userId = _user?.UserId;
    1212
    1313                        bool listOffline = false;
     
    2222                        Players playersList = PersistentContainer.Instance.Players;
    2323
    24                         foreach (KeyValuePair<string, Player> kvp in playersList.Dict) {
     24                        foreach (KeyValuePair<PlatformUserIdentifierAbs, Player> kvp in playersList.Dict) {
    2525                                if (admTools != null) {
    26                                         if (admTools.IsBanned (kvp.Key)) {
     26                                        if (admTools.IsBanned (kvp.Key, out _, out _)) {
    2727                                                continue;
    2828                                        }
     
    3232
    3333                                if (listOffline || p.IsOnline) {
    34                                         ulong player_steam_ID;
    35                                         if (!ulong.TryParse (kvp.Key, out player_steam_ID)) {
    36                                                 player_steam_ID = 0L;
    37                                         }
    38 
    39                                         if (player_steam_ID == _user.SteamID || bViewAll) {
     34                                        if (bViewAll || p.PlatformId.Equals (userId)) {
    4035                                                JSONObject pos = new JSONObject ();
    4136                                                pos.Add ("x", new JSONNumber (p.LastPosition.x));
     
    4439
    4540                                                JSONObject pJson = new JSONObject ();
    46                                                 pJson.Add ("steamid", new JSONString (kvp.Key));
     41                                                pJson.Add ("steamid", new JSONString (kvp.Key.CombinedString));
    4742
    4843                                                //                                      pJson.Add("entityid", new JSONNumber (p.EntityID));
  • binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs

    r351 r369  
    1313                        foreach (KeyValuePair<int, EntityPlayer> current in w.Players.dict) {
    1414                                ClientInfo ci = ConnectionManager.Instance.Clients.ForEntityId (current.Key);
    15                                 Player player = PersistentContainer.Instance.Players [ci.playerId, false];
     15                                Player player = PersistentContainer.Instance.Players [ci.PlatformId, false];
    1616
    1717                                JSONObject pos = new JSONObject ();
     
    2121
    2222                                JSONObject p = new JSONObject ();
    23                                 p.Add ("steamid", new JSONString (ci.playerId));
     23                                p.Add ("steamid", new JSONString (ci.PlatformId.CombinedString));
    2424                                p.Add ("entityid", new JSONNumber (ci.entityId));
    2525                                p.Add ("ip", new JSONString (ci.ip));
     
    2828                                p.Add ("position", pos);
    2929
    30                                 // Deprecated!
    31                                 p.Add ("experience", new JSONNumber (-1));
    32 
    33                                 p.Add ("level", new JSONNumber (player != null ? player.Level : -1));
     30                                p.Add ("level", new JSONNumber (player?.Level ?? -1));
    3431                                p.Add ("health", new JSONNumber (current.Value.Health));
    3532                                p.Add ("stamina", new JSONNumber (current.Value.Stamina));
     
    3936                                p.Add ("score", new JSONNumber (current.Value.Score));
    4037
    41                                 p.Add ("totalplaytime", new JSONNumber (player != null ? player.TotalPlayTime : -1));
     38                                p.Add ("totalplaytime", new JSONNumber (player?.TotalPlayTime ?? -1));
    4239                                p.Add ("lastonline", new JSONString (player != null ? player.LastOnline.ToString ("s") : string.Empty));
    4340                                p.Add ("ping", new JSONNumber (ci.ping));
Note: See TracChangeset for help on using the changeset viewer.