Ignore:
Location:
binary-improvements
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/7dtd-server-fixes.csproj

    r213 r211  
    4848      <HintPath>..\7dtd-binaries\UnityEngine.dll</HintPath>
    4949    </Reference>
     50    <Reference Include="Assembly-CSharp">
     51      <HintPath>..\7dtd-binaries\Assembly-CSharp.dll</HintPath>
     52    </Reference>
    5053    <Reference Include="EasyAntiCheat.Client">
    5154      <HintPath>..\7dtd-binaries\EasyAntiCheat.Client.dll</HintPath>
     
    5962    <Reference Include="LogLibrary">
    6063      <HintPath>..\7dtd-binaries\LogLibrary.dll</HintPath>
    61     </Reference>
    62     <Reference Include="Assembly-CSharp">
    63       <HintPath>..\7dtd-binaries\Assembly-CSharp.dll</HintPath>
    6464    </Reference>
    6565  </ItemGroup>
  • binary-improvements/7dtd-server-fixes/src/CommonMappingFunctions.cs

    r213 r211  
    2020                public static string GetPlayerName (ClientInfo _ci)
    2121                {
    22                         return _ci.playerName;
     22                        try {
     23                                int entityId = GetConnectionManager ().mapClientToEntity [_ci.clientId];
     24                                return GetGameManager ().World.playerEntities.dict [entityId].EntityName;
     25                        } catch (Exception e) {
     26                                Log.Out ("Error getting player name for ClientInfo: " + e);
     27                        }
     28                        return null;
    2329                }
    2430
    2531                public static EntityPlayer GetEntityPlayer (ClientInfo _ci)
    2632                {
    27                         return GetGameManager ().World.playerEntities.dict [_ci.entityId];
     33                        try {
     34                                int entityId = GetConnectionManager ().mapClientToEntity [_ci.clientId];
     35                                return GetGameManager ().World.playerEntities.dict [entityId];
     36                        } catch (Exception e) {
     37                                Log.Out ("Error getting entity player for ClientInfo: " + e);
     38                        }
     39                        return null;
    2840                }
    2941
    3042                public static string GetSteamID (ClientInfo _ci)
    3143                {
    32                         return _ci.playerId;
     44                        return Steam.Authentication.Server.GetPlayerId (GetPlayerName (_ci));
     45                }
     46
     47                public static string GetSteamID (string _playerName)
     48                {
     49                        return Steam.Authentication.Server.GetPlayerId (_playerName);
    3350                }
    3451
    3552                public static int GetClientID (ClientInfo _ci)
    3653                {
    37                         return _ci.clientId;
     54                        if (_ci != null) {
     55                                if (GetConnectionManager ().connectedClients.ContainsKey (_ci.clientId))
     56                                        return _ci.clientId;
     57                        }
     58                        return -1;
    3859                }
    3960
    4061                public static int GetEntityID (ClientInfo _ci)
    4162                {
    42                         return _ci.entityId;
     63                        try {
     64                                ConnectionManager cm = GetConnectionManager ();
     65
     66                                if (cm.mapClientToEntity.ContainsKey (_ci.clientId))
     67                                        return cm.mapClientToEntity [_ci.clientId];
     68                                else
     69                                        return -1;
     70                        } catch (Exception e) {
     71                                Log.Out ("Error getting entity ID for ClientInfo: " + e);
     72                        }
     73                        return -1;
    4374                }
    4475
     
    4879                                ConnectionManager cm = GetConnectionManager ();
    4980
    50                                 return cm.GetClientInfoForEntityId (_entityId);
     81                                if (cm.mapClientToEntity.ContainsValue (_entityId)) {
     82                                        foreach (KeyValuePair<int, int> kvp in cm.mapClientToEntity) {
     83                                                if (kvp.Value == _entityId) {
     84                                                        return cm.connectedClients [kvp.Key];
     85                                                }
     86                                        }
     87                                }
     88
     89                                return null;
    5190                        } catch (Exception e) {
    5291                                Log.Out ("Error getting ClientInfo for entity ID: " + e);
     
    118157                public static ClientInfo GetClientInfoFromSteamID (string _steamId)
    119158                {
    120                         return GetConnectionManager ().GetClientInfoForPlayerId (_steamId);
     159                        try {
     160                                foreach (string name in Steam.Authentication.Server.usersToIDs.Keys) {
     161                                        string curId = string.Empty + Steam.Authentication.Server.usersToIDs[name].steamID.m_SteamID;
     162                                        if (curId.Equals (_steamId)) {
     163                                                return GetClientInfoFromPlayerName (name, false);
     164                                        }
     165                                }
     166                        } catch (Exception e) {
     167                                Log.Out ("Error getting ClientInfo for steam ID: " + e);
     168                        }
     169                        return null;
    121170                }
    122171
  • binary-improvements/7dtd-server-fixes/src/NetConnections/ConsoleOutputSeparator.cs

    r213 r211  
    2424                private static IConnection issuerOfCurrentCommand;
    2525
    26                 public static void C_ExecuteCmdFromClient (ConsoleSdtd console, NetworkPlayer _networkPlayer, string _playerName, string _playerID, string _command)
     26                public static void C_ExecuteCmdFromClient (ConsoleSdtd console, NetworkPlayer _networkPlayer, string _playerID, string _command)
    2727                {
    28                         Log.Out ("Executed command \"" + _command + "\" from player \"" + _playerName + "\"");
     28                        Log.Out ("Executed command \"" + _command + "\" from player \"" + _playerID + "\"");
    2929
    3030                        lock (netCommandQueue) {
    3131                                isCurrentCommandFromClient = true;
    3232                                console.issuerOfCurrentClientCommand = _networkPlayer;
    33                                 console.ExecuteClientCmdInternal (_playerName, _playerID, _command);
     33                                console.ExecuteClientCmdInternal (_playerID, _command);
    3434                                isCurrentCommandFromClient = false;
    3535                        }
  • binary-improvements/assembly-patcher/Main.cs

    r213 r211  
    4141                {
    4242                        TypeDefinition type = module.GetType ("ConsoleSdtd");
    43                         replaceMethod (type, "ExecuteCmdFromClient", true, 4, typeof(AllocsFixes.NetConnections.ConsoleOutputSeparator).GetMethod ("C_ExecuteCmdFromClient"));
     43                        replaceMethod (type, "ExecuteCmdFromClient", true, 3, typeof(AllocsFixes.NetConnections.ConsoleOutputSeparator).GetMethod ("C_ExecuteCmdFromClient"));
    4444                        addHook (type, "Run", true, 0, true, typeof(AllocsFixes.NetConnections.ConsoleOutputSeparator).GetMethod ("C_Run"));
    4545                        replaceMethod (type, "SendResult", true, 1, typeof(AllocsFixes.NetConnections.ConsoleOutputSeparator).GetMethod ("C_SendResult"));
  • binary-improvements/bin/Release/7dtd-server-fixes_version.txt

    r213 r211  
    1 Version:       0.103.5461.3294
     1Version:       0.103.5459.40864
  • binary-improvements/server-fixes.userprefs

    r213 r211  
    11<Properties>
    22  <MonoDevelop.Ide.Workspace ActiveConfiguration="Release_Version" />
    3   <MonoDevelop.Ide.Workbench ActiveDocument="7dtd-server-fixes/src/CommonMappingFunctions.cs">
     3  <MonoDevelop.Ide.Workbench ActiveDocument="7dtd-server-fixes/src/CustomCommands/TeleportPlayer.cs">
    44    <Files>
    55      <File FileName="7dtd-server-fixes/src/PersistentData/Players.cs" Line="40" Column="70" />
     
    1212      <File FileName="7dtd-server-fixes/src/CustomCommands/webstat.cs" Line="6" Column="22" />
    1313      <File FileName="7dtd-server-fixes/src/CustomCommands/ListLandProtection.cs" Line="70" Column="44" />
    14       <File FileName="7dtd-server-fixes/src/CommonMappingFunctions.cs" Line="163" Column="47" />
     14      <File FileName="7dtd-server-fixes/src/CommonMappingFunctions.cs" Line="88" Column="5" />
    1515      <File FileName="7dtd-server-fixes/src/AllocsLogFunctions.cs" Line="24" Column="33" />
    16       <File FileName="7dtd-server-fixes/src/CustomCommands/ListPlayerIds.cs" Line="47" Column="1" />
    17       <File FileName="7dtd-server-fixes/src/CustomCommands/TeleportPlayer.cs" Line="20" Column="27" />
    18       <File FileName="7dtd-server-fixes/src/AssemblyInfo.cs" Line="20" Column="34" />
     16      <File FileName="7dtd-server-fixes/src/CustomCommands/ListPlayersExtended.cs" Line="46" Column="5" />
     17      <File FileName="7dtd-server-fixes/src/CustomCommands/TeleportPlayer.cs" Line="21" Column="1" />
    1918    </Files>
    2019    <Pads>
Note: See TracChangeset for help on using the changeset viewer.