Ignore:
Timestamp:
Apr 2, 2015, 9:16:34 PM (10 years ago)
Author:
alloc
Message:

A11 preps

Location:
binary-improvements/7dtd-server-fixes
Files:
3 added
4 deleted
11 edited

Legend:

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

    r213 r224  
    22<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    33  <PropertyGroup>
    4     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     4    <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
    55    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    66    <ProductVersion>10.0.0</ProductVersion>
     
    1212    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    1313  </PropertyGroup>
    14   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    15     <DebugSymbols>true</DebugSymbols>
    16     <DebugType>full</DebugType>
    17     <Optimize>false</Optimize>
    18     <OutputPath>..\bin\Debug</OutputPath>
    19     <DefineConstants>DEBUG;</DefineConstants>
    20     <ErrorReport>prompt</ErrorReport>
    21     <WarningLevel>4</WarningLevel>
    22     <ConsolePause>false</ConsolePause>
    23   </PropertyGroup>
    2414  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    2515    <DebugType>none</DebugType>
    2616    <Optimize>true</Optimize>
    27     <OutputPath>..\bin\Release</OutputPath>
     17    <OutputPath>..\bin\7DaysToDie_Data\Managed</OutputPath>
    2818    <ErrorReport>prompt</ErrorReport>
    2919    <WarningLevel>4</WarningLevel>
     
    3323    <DebugType>none</DebugType>
    3424    <Optimize>true</Optimize>
    35     <OutputPath>..\bin\Release</OutputPath>
     25    <OutputPath>..\bin\7DaysToDie_Data\Managed</OutputPath>
    3626    <ErrorReport>prompt</ErrorReport>
    3727    <WarningLevel>4</WarningLevel>
     
    6050      <HintPath>..\7dtd-binaries\LogLibrary.dll</HintPath>
    6151    </Reference>
     52    <Reference Include="mscorlib">
     53      <HintPath>..\7dtd-binaries\mscorlib.dll</HintPath>
     54    </Reference>
    6255    <Reference Include="Assembly-CSharp">
    6356      <HintPath>..\7dtd-binaries\Assembly-CSharp.dll</HintPath>
     
    6760    <Compile Include="src\AssemblyInfo.cs" />
    6861    <Compile Include="src\AllocsLogFunctions.cs" />
    69     <Compile Include="src\AdminToolsStuff.cs" />
    7062    <Compile Include="src\PlayerDataStuff.cs" />
    7163    <Compile Include="src\CommandExtensions.cs" />
    7264    <Compile Include="src\CommonMappingFunctions.cs" />
    73     <Compile Include="src\MapRendering\MapRendering.cs" />
    74     <Compile Include="src\MapRendering\MapRenderBlockBuffer.cs" />
    75     <Compile Include="src\MapRendering\Constants.cs" />
    76     <Compile Include="src\CustomCommands\GetTime.cs" />
    77     <Compile Include="src\CustomCommands\GetGamePrefs.cs" />
    78     <Compile Include="src\CustomCommands\SayToPlayer.cs" />
    79     <Compile Include="src\CustomCommands\SetTimeReal.cs" />
    80     <Compile Include="src\CustomCommands\ShowInventory.cs" />
    81     <Compile Include="src\CustomCommands\PrivateMassageConnections.cs" />
    82     <Compile Include="src\CustomCommands\Reply.cs" />
    83     <Compile Include="src\CustomCommands\Kill.cs" />
    84     <Compile Include="src\CustomCommands\ListLandProtection.cs" />
    85     <Compile Include="src\CustomCommands\RemoveLandProtection.cs" />
    86     <Compile Include="src\CustomCommands\Version.cs" />
    87     <Compile Include="src\CustomCommands\RenderMap.cs" />
    88     <Compile Include="src\CustomCommands\Give.cs" />
    89     <Compile Include="src\CustomCommands\ListItems.cs" />
    9065    <Compile Include="src\NetConnections\ConsoleOutputSeparator.cs" />
    9166    <Compile Include="src\NetConnections\NetTelnetServer.cs" />
     
    9469    <Compile Include="src\NetConnections\Servers\Telnet\Telnet.cs" />
    9570    <Compile Include="src\NetConnections\Servers\Telnet\TelnetConnection.cs" />
    96     <Compile Include="src\NetConnections\Servers\Web\Web.cs" />
    97     <Compile Include="src\NetConnections\Servers\Web\PathHandler.cs" />
    98     <Compile Include="src\NetConnections\Servers\Web\StaticHandler.cs" />
    99     <Compile Include="src\NetConnections\Servers\Web\SimpleRedirectHandler.cs" />
    100     <Compile Include="src\NetConnections\Servers\Web\MimeType.cs" />
    101     <Compile Include="src\CustomCommands\EnableRendering.cs" />
    10271    <Compile Include="src\PersistentData\PersistentContainer.cs" />
    10372    <Compile Include="src\StateManager.cs" />
     
    10675    <Compile Include="src\PersistentData\Players.cs" />
    10776    <Compile Include="src\PersistentData\Player.cs" />
    108     <Compile Include="src\CustomCommands\ListKnownPlayers.cs" />
    109     <Compile Include="src\NetConnections\Servers\Web\ApiHandler.cs" />
    110     <Compile Include="src\NetConnections\Servers\Web\API\GetPlayersOnline.cs" />
    111     <Compile Include="src\NetConnections\Servers\Web\API\WebAPI.cs" />
    11277    <Compile Include="src\JSON\JSONNode.cs" />
    11378    <Compile Include="src\JSON\JSONArray.cs" />
     
    11681    <Compile Include="src\JSON\JSONString.cs" />
    11782    <Compile Include="src\JSON\JSONBoolean.cs" />
    118     <Compile Include="src\NetConnections\Servers\Web\API\GetPlayersLocation.cs" />
    119     <Compile Include="src\CustomCommands\TeleportPlayer.cs" />
    120     <Compile Include="src\NetConnections\Servers\Web\API\GetPlayerInventory.cs" />
    121     <Compile Include="src\NetConnections\Servers\Web\API\GetLandClaims.cs" />
    12283    <Compile Include="src\BlockingQueue.cs" />
    12384    <Compile Include="src\JSON\Parser.cs" />
    12485    <Compile Include="src\JSON\JSONNull.cs" />
    12586    <Compile Include="src\JSON\MalformedJSONException.cs" />
    126     <Compile Include="src\CustomCommands\Unban.cs" />
    12787    <Compile Include="src\ItemList.cs" />
    12888    <Compile Include="src\FileCache\AbstractCache.cs" />
     
    13090    <Compile Include="src\FileCache\SimpleCache.cs" />
    13191    <Compile Include="src\FileCache\MapTileCache.cs" />
    132     <Compile Include="src\CustomCommands\webstat.cs" />
    133     <Compile Include="src\CustomCommands\ListPlayerIds.cs" />
     92    <Compile Include="src\Mods.cs" />
     93    <Compile Include="src\ModAPI.cs" />
     94    <Compile Include="src\Version.cs" />
    13495  </ItemGroup>
    13596  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    13697  <ItemGroup>
    13798    <Folder Include="src\" />
    138     <Folder Include="src\MapRendering\" />
    13999    <Folder Include="src\CustomCommands\" />
    140100    <Folder Include="src\NetConnections\" />
    141101    <Folder Include="src\NetConnections\Servers\" />
    142102    <Folder Include="src\NetConnections\Servers\Telnet\" />
    143     <Folder Include="src\NetConnections\Servers\Web\" />
    144103    <Folder Include="src\PersistentData\" />
    145     <Folder Include="src\NetConnections\Servers\Web\API\" />
    146104    <Folder Include="src\JSON\Parser\" />
    147105    <Folder Include="src\FileCache\" />
  • binary-improvements/7dtd-server-fixes/src/AllocsLogFunctions.cs

    r203 r224  
    3131                                PersistentContainer.Instance.Players [steamId].SetOnline (ci);
    3232                                PersistentData.PersistentContainer.Instance.Save ();
     33
     34                                Mods.CallRequestToSpawnPlayer (_clientId, _name, _chunkViewDim, _playerProfile);
    3335                        } catch (Exception e) {
    3436                                Log.Out ("Error in AllocsLogFunctions.RequestToSpawnPlayer: " + e);
     
    3638                }
    3739
    38                 public static void PlayerDisconnected (ConnectionManager manager, int _clientId, bool _bShutdown)
     40                public static void PlayerDisconnected (ConnectionManager manager, ClientInfo _cInfo, bool _bShutdown)
    3941                {
    4042                        try {
    41                                 Player p = PersistentContainer.Instance.Players.GetPlayerByClientId (_clientId);
     43                                Player p = PersistentContainer.Instance.Players [_cInfo.playerId];
    4244                                if (p != null) {
    4345                                        p.SetOffline ();
     
    4648                                }
    4749                                PersistentData.PersistentContainer.Instance.Save ();
     50
     51                                Mods.CallPlayerDisconnected (_cInfo, _bShutdown);
    4852                        } catch (Exception e) {
    4953                                Log.Out ("Error in AllocsLogFunctions.PlayerDisconnected: " + e);
  • binary-improvements/7dtd-server-fixes/src/AssemblyInfo.cs

    r216 r224  
    1818// and "{Major}.{Minor}.{Build}.*" will update just the revision.
    1919
    20 [assembly: AssemblyVersion("0.104.*")]
     20[assembly: AssemblyVersion("0.110.*")]
    2121
    2222// The following attributes are used to specify the signing key for the assembly,
  • binary-improvements/7dtd-server-fixes/src/CommandExtensions.cs

    r198 r224  
    1212                        try {
    1313                                ConsoleSdtd cons = manager.m_GUIConsole;
    14                                 string ns = "AllocsFixes.CustomCommands";
    15                                 string basetype = "ConsoleCommand";
     14                                Type commandType = typeof (ConsoleCommand);
    1615
    17                                 foreach (Type t in Assembly.GetExecutingAssembly ().GetTypes()) {
    18                                         if (t.IsClass && t.Namespace.Equals (ns) && t.BaseType.Name.Equals (basetype)) {
    19                                                 try {
    20                                                         ConstructorInfo ctor = t.GetConstructor (new Type[] {typeof(ConsoleSdtd)});
    21                                                         cons.AddCommand ((ConsoleCommand)ctor.Invoke (new object[] {cons}));
    22                                                 } catch (Exception e) {
    23                                                         Log.Out ("Could not register custom command \"" + t.Name + "\": " + e);
     16                                Mods.ModData thisMd = new Mods.ModData ();
     17                                thisMd.assembly = Assembly.GetExecutingAssembly ();
     18
     19                                List<Mods.ModData> mods = Mods.LoadedMods ();
     20                                mods.Add (thisMd);
     21
     22                                foreach (Mods.ModData md in mods) {
     23                                        foreach (Type t in md.assembly.GetTypes()) {
     24                                                if (t.IsClass && commandType.IsAssignableFrom (t)) {
     25                                                        try {
     26                                                                ConstructorInfo ctor = t.GetConstructor (new Type[] {typeof(ConsoleSdtd)});
     27                                                                cons.AddCommand ((ConsoleCommand)ctor.Invoke (new object[] {cons}));
     28                                                        } catch (Exception e) {
     29                                                                Log.Out ("Could not register custom command \"" + t.Name + "\": " + e);
     30                                                        }
    2431                                                }
    2532                                        }
  • binary-improvements/7dtd-server-fixes/src/CommonMappingFunctions.cs

    r213 r224  
    1515                public static GameManager GetGameManager ()
    1616                {
    17                         return GetConnectionManager ().gameManager;
     17                        return GameManager.Instance;
    1818                }
    1919
     
    2525                public static EntityPlayer GetEntityPlayer (ClientInfo _ci)
    2626                {
    27                         return GetGameManager ().World.playerEntities.dict [_ci.entityId];
     27                        return GetGameManager ().World.Players.dict [_ci.entityId];
    2828                }
    2929
  • binary-improvements/7dtd-server-fixes/src/ItemList.cs

    r199 r224  
    2727                }
    2828
    29                 public Nullable<ItemValue> GetItemValue (string itemName)
     29                public ItemValue GetItemValue (string itemName)
    3030                {
    3131                        if (items.ContainsKey (itemName)) {
    32                                 return items [itemName];
     32                                return items [itemName].Clone ();
    3333                        } else {
    3434                                itemName = itemName.ToLower ();
    3535                                foreach (KeyValuePair<string, ItemValue> kvp in items) {
    3636                                        if (kvp.Key.ToLower ().Equals (itemName)) {
    37                                                 return kvp.Value;
     37                                                return kvp.Value.Clone ();
    3838                                        }
    3939                                }
     
    4747                        foreach (InventoryField invF in cm.GetAllItems()) {
    4848                                ItemBase ib = ItemBase.list [invF.itemValue.type];
    49                                 string name = ib.GetItemName (invF.itemValue);
     49                                string name = ib.GetItemName ();
    5050                                if (name != null && name.Length > 0) {
    5151                                        if (!items.ContainsKey (name)) {
     
    5858                        foreach (InventoryField invF in cm.GetAllBlocks()) {
    5959                                ItemBase ib = ItemBase.list [invF.itemValue.type];
    60                                 string name = ib.GetItemName (invF.itemValue);
     60                                string name = ib.GetItemName ();
    6161                                if (name != null && name.Length > 0) {
    6262                                        if (!items.ContainsKey (name)) {
  • binary-improvements/7dtd-server-fixes/src/NetConnections/ConsoleOutputSeparator.cs

    r213 r224  
    2222                private static List<NetCommand> netCommandQueue = new List<NetCommand> ();
    2323                private static bool isCurrentCommandFromClient = false;
     24                private static int issuerOfCurrentClientCommand = -1;
    2425                private static IConnection issuerOfCurrentCommand;
    2526
    26                 public static void C_ExecuteCmdFromClient (ConsoleSdtd console, NetworkPlayer _networkPlayer, string _playerName, string _playerID, string _command)
     27                public static void C_ExecuteCmdFromClient (ConsoleSdtd console, int _entityId, string _playerName, string _playerID, string _command)
    2728                {
    2829                        Log.Out ("Executed command \"" + _command + "\" from player \"" + _playerName + "\"");
     
    3031                        lock (netCommandQueue) {
    3132                                isCurrentCommandFromClient = true;
    32                                 console.issuerOfCurrentClientCommand = _networkPlayer;
    33                                 console.ExecuteClientCmdInternal (_playerName, _playerID, _command);
     33                                issuerOfCurrentClientCommand = _entityId;
     34
     35                                string[] array = _command.Split (' ');
     36                                if (array.Length == 0) {
     37                                        C_SendResult (console, "*** ERROR: empty command '" + _command + "'");
     38                                } else {
     39                                        ConsoleCommand cmd = console.getCommand (_command);
     40                                        if (cmd != null) {
     41                                                string[] array2 = new string[array.Length - 1];
     42                                                for (int i = 1; i < array.Length; i++) {
     43                                                        array2 [i - 1] = array [i];
     44                                                }
     45                                                cmd.ExecuteRemote (_playerID, array2);
     46                                        } else {
     47                                                C_SendResult (console, "*** ERROR: unknown command '" + array [0] + "'");
     48                                        }
     49                                }
     50
    3451                                isCurrentCommandFromClient = false;
    3552                        }
     
    4057                {
    4158                        if (isCurrentCommandFromClient) {
    42                                 console.gameManager.GetRPCNetworkView ().RPC ("RPC_Console", console.issuerOfCurrentClientCommand, new object[]
    43                         {
    44                                 _line,
    45                                 false
    46                         }
    47                                 );
     59                                CommonMappingFunctions.GetConnectionManager ().SendPackage (new NetPackage_ConsoleCmdClient (_line, false), new PackageDestinationSingleEntityID (issuerOfCurrentClientCommand));
    4860                        } else {
    4961                                if (console.telnetServer != null && issuerOfCurrentCommand != null)
  • binary-improvements/7dtd-server-fixes/src/NetConnections/Servers/Telnet/TelnetConnection.cs

    r202 r224  
    1313                private readonly BlockingQueue<string> toClientQueue = new BlockingQueue<string> ();
    1414                private readonly Telnet telnet;
    15                 private readonly Thread receiveThread = null;
    16                 private readonly Thread sendThread = null;
    1715                private bool authenticated = false;
    1816                private readonly bool authEnabled;
     
    4442                        Log.Out ("Telnet connection from: " + endpoint);
    4543
    46                         receiveThread = ThreadMaster.Create ("TelnetClientReceive_" + endpoint.ToString (), new ThreadStart (ReceiveThread));
    47                         receiveThread.Start ();
    48                         sendThread = ThreadMaster.Create ("TelnetClientSend" + endpoint.ToString (), new ThreadStart (SendThread));
    49                         sendThread.Start ();
     44                        ThreadManager.StartThread ("TelnetClientReceive_" + endpoint.ToString (), new ThreadManager.ThreadFunctionDelegate (ReceiveThread), System.Threading.ThreadPriority.BelowNormal);
     45                        ThreadManager.StartThread ("TelnetClientSend_" + endpoint.ToString (), new ThreadManager.ThreadFunctionDelegate (SendThread), System.Threading.ThreadPriority.BelowNormal);
    5046
    5147                        if (authEnabled) {
     
    7773                }
    7874
    79                 private void ReceiveThread ()
     75                private void ReceiveThread (ThreadManager.ThreadInfo _tInfo)
    8076                {
    8177                        try {
     
    116112                        if (!closed)
    117113                                Close ();
    118                         ThreadMaster.Remove (Thread.CurrentThread.Name);
    119114                }
    120115
    121                 private void SendThread ()
     116                private void SendThread (ThreadManager.ThreadInfo _tInfo)
    122117                {
    123118                        try {
     
    140135                        if (!closed)
    141136                                Close ();
    142                         ThreadMaster.Remove (Thread.CurrentThread.Name);
    143137                }
    144138
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs

    r197 r224  
    3232                                        if (sourceFields [i].count > 0) {
    3333                                                int count = sourceFields [i].count;
    34                                                 int maxAllowed = ItemBase.list [sourceFields [i].itemValue.type].StackNumber;
     34                                                int maxAllowed = ItemBase.list [sourceFields [i].itemValue.type].Stacknumber.Value;
    3535                                                string name = getInvFieldName (sourceFields [i]);
    3636
     
    4848                {
    4949                        ItemBase iBase = ItemBase.list [item.itemValue.type];
    50                         return iBase.GetItemName (item.itemValue);
     50                        return iBase.GetItemName ();
    5151                }
    5252
  • binary-improvements/7dtd-server-fixes/src/PlayerDataStuff.cs

    r144 r224  
    1414                                string steamId = CommonMappingFunctions.GetSteamID(ci);
    1515                                PersistentContainer.Instance.Players[steamId].Inventory.Update(_playerDataFile);
     16                                Mods.CallSavePlayerData (_clientId, _playerDataFile);
    1617                        } catch (Exception e) {
    1718                                Log.Out ("Error in GM_SavePlayerData: " + e);
  • binary-improvements/7dtd-server-fixes/src/StateManager.cs

    r197 r224  
    11using AllocsFixes.NetConnections.Servers.Telnet;
    2 using AllocsFixes.NetConnections.Servers.Web;
    32using System;
    43using System.Reflection;
     
    1211                        try {
    1312                                Log.Out ("[7dtd-server-fixes by Alloc] Version: " + Assembly.GetExecutingAssembly ().GetName ().Version);
    14                                 new Web ();
     13
     14                                Mods.LoadMods ();
     15                                Mods.CallGameAwake ();
     16                                CommandExtensions.InitCommandExtensions (manager);
     17
    1518                                new Telnet ();
    1619
    1720                                ItemList.Instance.Init ();
    18                                 CommandExtensions.InitCommandExtensions (manager);
    1921
    2022                                PersistentData.PersistentContainer.Load ();
     
    2830                        try {
    2931                                Log.Out ("Server shutting down!");
     32                                Mods.CallGameShutdown ();
    3033                                PersistentData.PersistentContainer.Instance.Save ();
    3134                        } catch (Exception e) {
Note: See TracChangeset for help on using the changeset viewer.