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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/AllocsCommands/Commands/ListKnownPlayers.cs

    r359 r369  
    1 using System;
    21using System.Collections.Generic;
    32using AllocsFixes.PersistentData;
     
    1413                               "  2. listknownplayers -online\n" +
    1514                               "  3. listknownplayers -notbanned\n" +
    16                                "  4. listknownplayers <player name / steamid>\n" +
     15                               "  4. listknownplayers <player name / userid>\n" +
    1716                               "1. Lists all players that have ever been online\n" +
    1817                               "2. Lists only the players that are currently online\n" +
    1918                               "3. Lists only the players that are not banned\n" +
    20                                "4. Lists all players whose name contains the given string or matches the given SteamID";
     19                               "4. Lists all players whose name contains the given string or matches the given UserID";
    2120                }
    2221
     
    3130                        bool notBannedOnly = false;
    3231                        string nameFilter = string.Empty;
    33                         bool isSteamId = false;
     32                        PlatformUserIdentifierAbs userIdFilter = null;
    3433
    3534                        if (_params.Count == 1) {
    36                                 long steamid;
    3735                                if (_params [0].EqualsCaseInsensitive ("-online")) {
    3836                                        onlineOnly = true;
    3937                                } else if (_params [0].EqualsCaseInsensitive ("-notbanned")) {
    4038                                        notBannedOnly = true;
    41                                 } else if (_params [0].Length == 17 && long.TryParse (_params [0], out steamid)) {
    42                                         isSteamId = true;
     39                                } else if (PlatformUserIdentifierAbs.TryFromCombinedString (_params [0], out userIdFilter)) {
     40                                        // if true nothing to do, set by the out parameter
    4341                                } else {
    4442                                        nameFilter = _params [0];
     
    4644                        }
    4745
    48                         if (isSteamId) {
    49                                 Player p = PersistentContainer.Instance.Players [_params [0], false];
     46                        if (userIdFilter != null) {
     47                                Player p = PersistentContainer.Instance.Players [userIdFilter, false];
    5048
    5149                                if (p != null) {
    52                                         SdtdConsole.Instance.Output (string.Format (
    53                                                 "{0}. {1}, id={2}, steamid={3}, online={4}, ip={5}, playtime={6} m, seen={7}",
    54                                                 0, p.Name, p.EntityID, _params [0], p.IsOnline, p.IP,
    55                                                 p.TotalPlayTime / 60,
    56                                                 p.LastOnline.ToString ("yyyy-MM-dd HH:mm"))
     50                                        SdtdConsole.Instance.Output (
     51                                                $"{0}. {p.Name}, id={p.EntityID}, steamid={_params [0]}, online={p.IsOnline}, ip={p.IP}, playtime={p.TotalPlayTime / 60} m, seen={p.LastOnline:yyyy-MM-dd HH:mm}"
    5752                                        );
    5853                                } else {
    59                                         SdtdConsole.Instance.Output (string.Format ("SteamID {0} unknown!", _params [0]));
     54                                        SdtdConsole.Instance.Output ($"SteamID {_params [0]} unknown!");
    6055                                }
    6156                        } else {
    6257                                int num = 0;
    63                                 foreach (KeyValuePair<string, Player> kvp in PersistentContainer.Instance.Players.Dict) {
     58                                foreach (KeyValuePair<PlatformUserIdentifierAbs, Player> kvp in PersistentContainer.Instance.Players.Dict) {
    6459                                        Player p = kvp.Value;
    6560
    6661                                        if (
    6762                                                (!onlineOnly || p.IsOnline)
    68                                                 && (!notBannedOnly || !admTools.IsBanned (kvp.Key))
     63                                                && (!notBannedOnly || !admTools.IsBanned (kvp.Key, out _, out _))
    6964                                                && (nameFilter.Length == 0 || p.Name.ContainsCaseInsensitive (nameFilter))
    7065                                        ) {
    71                                                 SdtdConsole.Instance.Output (string.Format (
    72                                                         "{0}. {1}, id={2}, steamid={3}, online={4}, ip={5}, playtime={6} m, seen={7}",
    73                                                         ++num, p.Name, p.EntityID, kvp.Key, p.IsOnline, p.IP,
    74                                                         p.TotalPlayTime / 60,
    75                                                         p.LastOnline.ToString ("yyyy-MM-dd HH:mm"))
     66                                                SdtdConsole.Instance.Output (
     67                                                        $"{++num}. {p.Name}, id={p.EntityID}, steamid={kvp.Key}, online={p.IsOnline}, ip={p.IP}, playtime={p.TotalPlayTime / 60} m, seen={p.LastOnline:yyyy-MM-dd HH:mm}"
    7668                                                );
    7769                                        }
    7870                                }
    7971
    80                                 SdtdConsole.Instance.Output ("Total of " + PersistentContainer.Instance.Players.Count + " known");
     72                                SdtdConsole.Instance.Output ($"Total of {PersistentContainer.Instance.Players.Count} known");
    8173                        }
    8274                }
Note: See TracChangeset for help on using the changeset viewer.