Network code update to 2.7.4.84161

This commit is contained in:
Gitea 2022-09-02 18:27:53 +10:00
parent c2763dc901
commit d2bfdd0bbe
12 changed files with 161 additions and 39 deletions

View File

@ -31,7 +31,7 @@ namespace DiIiS_NA.LoginServer.GamesSystem
public D3.OnlineService.GameCreateParams GameCreateParams { get; private set; } public D3.OnlineService.GameCreateParams GameCreateParams { get; private set; }
public string Version = "2.7.3"; public string Version = "2.7.4";
public ulong FactoryID { get; private set; } public ulong FactoryID { get; private set; }
public KeyValuePair<string, BattleBackend.ServerDescriptor> GServer { get; private set; } public KeyValuePair<string, BattleBackend.ServerDescriptor> GServer { get; private set; }
public ulong RequestId { get; private set; } public ulong RequestId { get; private set; }

View File

@ -87,18 +87,6 @@ namespace DiIiS_NA.LoginServer.ServicesSystem.Services
Init.SetGameAccountSettings(GAS); Init.SetGameAccountSettings(GAS);
Init.SetHeroDigests(d); Init.SetHeroDigests(d);
Init.SetAccountDigest(Client.Account.GameAccount.Digest); Init.SetAccountDigest(Client.Account.GameAccount.Digest);
/*Init.SetSyncedVars("OnlineService.Season.EarliestSeasonNum=4" +
" OnlineService.Season.Num=1" +
" OnlineService.Season.State=1" +
" OnlineService.FreeToPlay=true" +
" OnlineService.Leaderboard.Era=10" +
" OnlineService.AnniversaryEvent.Status=2" +
" ChallengeRift.ChallengeNumber=140" +
" OnlineService.Store.Status=0" +
" OnlineService.Store.ProductCatalogDigest=C42DC6117A7008EDA2006542D6C07EAD096DAD90" +
" OnlineService.Store.ProductCatalogVersion=633565800390338000" +
" OnlineService.Store.NewestProductTime=516240000000000000" +
" OnlineService.Region.Id=5");*/
Init.SetSyncedVars( Init.SetSyncedVars(
" OnlineService.Season.Num=1" + //Номер сезона " OnlineService.Season.Num=1" + //Номер сезона
" OnlineService.Season.State=1" + //Статус сезона, 1 - Активирован, 0 - Деактивирован " OnlineService.Season.State=1" + //Статус сезона, 1 - Активирован, 0 - Деактивирован
@ -3791,7 +3779,7 @@ challenge_end_time_unix_seconds: 1583200800
var gameAccount = client.Account.GameAccount; var gameAccount = client.Account.GameAccount;
return gameAccount.Settings.ToByteString(); return gameAccount.Settings.ToByteString();
} }
private ByteString SetGameAccountSettings(D3.GameMessage.SetGameAccountSettings settings, BattleClient client) private ByteString SetGameAccountSettings(SetGameAccountSettings settings, BattleClient client)
{ {
Logger.Trace("SetGameAccountSettings()"); Logger.Trace("SetGameAccountSettings()");
@ -3832,14 +3820,5 @@ challenge_end_time_unix_seconds: 1583200800
} }
#endregion #endregion
#region Heroes of The Storm
private ByteString FirstRequest(BattleClient Client, ClientRequest request)
{
return null;// res.Build().ToByteString();
}
#endregion
} }
} }

View File

@ -835,7 +835,6 @@ namespace DiIiS_NA.GameServer.GSSystem.ActorSystem
snoAmbientOcclusionOverrideTex = null, snoAmbientOcclusionOverrideTex = null,
MarkerSetSNO = null, MarkerSetSNO = null,
MarkerSetIndex = null, MarkerSetIndex = null,
TimeActorCreated = null,
EnterKnownLookOverrides = null EnterKnownLookOverrides = null
}; };
} }

View File

@ -1013,7 +1013,7 @@ namespace DiIiS_NA.GameServer.GSSystem.ItemsSystem
var legaDefinition = GetRandom(AllowedItems.Values var legaDefinition = GetRandom(AllowedItems.Values
.Where(def => .Where(def =>
def.ItemLevel <= Math.Min(level + 2, 73) def.ItemLevel <= Math.Min(level + 2, 73)
&& !ObsoleteItems.Contains(def.Hash) //obsolete 1.0.3 items && !ObsoleteItems.Contains(def.Hash)
&& UniqueItems.UniqueItemStats.ContainsKey(def.Hash) && UniqueItems.UniqueItemStats.ContainsKey(def.Hash)
&& def.Quality != ItemTable.ItemQuality.Special && def.Quality != ItemTable.ItemQuality.Special
&& (type == null ? true : ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID)).Contains(type.Hash)) && (type == null ? true : ItemGroup.HierarchyToHashList(ItemGroup.FromHash(def.ItemTypesGBID)).Contains(type.Hash))

View File

@ -29,7 +29,7 @@ namespace DiIiS_NA.GameServer.MessageSystem
ScriptedAttributeInitializer.ProcessAttributes(Attributes); ScriptedAttributeInitializer.ProcessAttributes(Attributes);
} }
#region 2.7.1 #region 2.7.4
//* //*
public static readonly GameAttributeF Axe_Bad_Data = new GameAttributeF(0, 0, -1, 0, 0, "", "", "Axe_Bad_Data", GameAttributeEncoding.Float32, 0, 0, 0, 32); public static readonly GameAttributeF Axe_Bad_Data = new GameAttributeF(0, 0, -1, 0, 0, "", "", "Axe_Bad_Data", GameAttributeEncoding.Float32, 0, 0, 0, 32);
public static readonly GameAttributeF Attribute_Timer = new GameAttributeF(1, 0, -1, 0, 0, "", "", "Attribute_Timer", GameAttributeEncoding.Float32, 0, 0, 0, 32); public static readonly GameAttributeF Attribute_Timer = new GameAttributeF(1, 0, -1, 0, 0, "", "", "Attribute_Timer", GameAttributeEncoding.Float32, 0, 0, 0, 32);
@ -1514,6 +1514,8 @@ namespace DiIiS_NA.GameServer.MessageSystem
public static readonly GameAttributeB FourthKanaisCubeSlotunlocked = new GameAttributeB(1476, 0, -1, 0, 0, "", "", "FourthKanai'sCubeSlotunlocked", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1); public static readonly GameAttributeB FourthKanaisCubeSlotunlocked = new GameAttributeB(1476, 0, -1, 0, 0, "", "", "FourthKanai'sCubeSlotunlocked", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1);
public static readonly GameAttributeB Seasononlyitemsunlocked = new GameAttributeB(1477, 0, -1, 0, 0, "", "", "Season-onlyitemsunlocked", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1); public static readonly GameAttributeB Seasononlyitemsunlocked = new GameAttributeB(1477, 0, -1, 0, 0, "", "", "Season-onlyitemsunlocked", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1);
public static readonly GameAttributeB Soul_shards_unlocked = new GameAttributeB(1478, 0, -1, 0, 0, "", "", "Soulshardsunlocked", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1); public static readonly GameAttributeB Soul_shards_unlocked = new GameAttributeB(1478, 0, -1, 0, 0, "", "", "Soulshardsunlocked", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1);
public static readonly GameAttributeB Item_was_sanctified = new GameAttributeB(1479, 0, -1, 0, 0, "", "", "Itemwassanctified", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1);
public static readonly GameAttributeB Sanctified_items_unlocked = new GameAttributeB(1480, 0, -1, 0, 0, "", "", "Sanctifieditemsunlocked", GameAttributeEncoding.IntMinMax, 0, 0, 1, 1);
public static readonly GameAttributeF Fiil1 = new GameAttributeF(1223, -1, -1, 0, 0, "", "", "Fiil1", GameAttributeEncoding.Float32, 0, 0, 0, 32); public static readonly GameAttributeF Fiil1 = new GameAttributeF(1223, -1, -1, 0, 0, "", "", "Fiil1", GameAttributeEncoding.Float32, 0, 0, 0, 32);
public static readonly GameAttributeF Fiil2 = new GameAttributeF(1224, -1, -1, 0, 0, "", "", "Fiil2", GameAttributeEncoding.Float32, 0, 0, 0, 32); public static readonly GameAttributeF Fiil2 = new GameAttributeF(1224, -1, -1, 0, 0, "", "", "Fiil2", GameAttributeEncoding.Float32, 0, 0, 0, 32);

View File

@ -30,7 +30,7 @@ namespace DiIiS_NA.GameServer.MessageSystem.Message.Definitions.ACD
public int? /* sno */ snoAmbientOcclusionOverrideTex; public int? /* sno */ snoAmbientOcclusionOverrideTex;
public int? MarkerSetSNO; public int? MarkerSetSNO;
public int? MarkerSetIndex; public int? MarkerSetIndex;
public uint? TimeActorCreated; public uint? TimeActorCreated = null;
public EnterKnownLookOverrides EnterKnownLookOverrides; public EnterKnownLookOverrides EnterKnownLookOverrides;
public ACDEnterKnownMessage() : base(Opcodes.ACDEnterKnownMessage) { } public ACDEnterKnownMessage() : base(Opcodes.ACDEnterKnownMessage) { }
@ -39,7 +39,7 @@ namespace DiIiS_NA.GameServer.MessageSystem.Message.Definitions.ACD
{ {
ActorID = buffer.ReadUInt(32); ActorID = buffer.ReadUInt(32);
ActorSNOId = buffer.ReadInt(32); ActorSNOId = buffer.ReadInt(32);
Flags = buffer.ReadInt(8); Flags = buffer.ReadInt(9);
LocationType = buffer.ReadInt(2) + (-1); LocationType = buffer.ReadInt(2) + (-1);
if (buffer.ReadBool()) if (buffer.ReadBool())
{ {
@ -83,7 +83,7 @@ namespace DiIiS_NA.GameServer.MessageSystem.Message.Definitions.ACD
{ {
buffer.WriteUInt(32, ActorID); buffer.WriteUInt(32, ActorID);
buffer.WriteInt(32, ActorSNOId); buffer.WriteInt(32, ActorSNOId);
buffer.WriteInt(8, Flags); buffer.WriteInt(9, Flags);
buffer.WriteInt(2, LocationType - (-1)); buffer.WriteInt(2, LocationType - (-1));
buffer.WriteBool(WorldLocation != null); buffer.WriteBool(WorldLocation != null);
if (WorldLocation != null) if (WorldLocation != null)

View File

@ -0,0 +1,42 @@
using DiIiS_NA.GameServer.MessageSystem;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DiIiS_NA.D3_GameServer.MessageSystem.Message.Definitions.Dungeon
{
[Message(Opcodes.UberBossClosingMessage)]
public class UberBossClosingMessage : GameMessage
{
public int field0;
public int field1;
public UberBossClosingMessage() : base(Opcodes.UberBossClosingMessage) { }
public override void Parse(GameBitBuffer buffer)
{
field0 = buffer.ReadInt(32);
field1 = buffer.ReadInt(32);
}
public override void Encode(GameBitBuffer buffer)
{
buffer.WriteInt(32, field0);
buffer.WriteInt(32, field1);
}
public override void AsText(StringBuilder b, int pad)
{
b.Append(' ', pad);
b.AppendLine("SetDungeonJoinMessage:");
b.Append(' ', pad++);
b.AppendLine("{");
b.Append(' ', pad); b.AppendLine("field0: 0x" + field0.ToString("X8"));
b.Append(' ', pad); b.AppendLine("field1: 0x" + field1.ToString("X8"));
b.Append(' ', --pad);
b.AppendLine("}");
}
}
}

View File

@ -22,7 +22,7 @@ namespace DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Game
{ {
this.SNOPackHash = snoPacketHash; this.SNOPackHash = snoPacketHash;
this.ProtocolHash = protocol; this.ProtocolHash = protocol;
this.Version = "DiIiS Server - 2.7.3.82753"; this.Version = "DiIiS Server - 2.7.4.84161";
} }
public VersionsMessage() : base(Opcodes.VersionsMessage) { } public VersionsMessage() : base(Opcodes.VersionsMessage) { }

View File

@ -0,0 +1,49 @@
//Blizzless Project 2022
using System;
//Blizzless Project 2022
using System.Collections.Generic;
//Blizzless Project 2022
using System.Linq;
//Blizzless Project 2022
using System.Text;
//Blizzless Project 2022
using System.Threading.Tasks;
namespace DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Inventory
{
[Message(Opcodes.UnlockableRandomAffixMessage, Consumers.Inventory)]
public class UnlockableRandomAffixMessage : GameMessage
{
public uint ItemID; // Item's DynamicID
public int Field1;
public UnlockableRandomAffixMessage Affix;
public override void Parse(GameBitBuffer buffer)
{
ItemID = buffer.ReadUInt(32);
Field1 = buffer.ReadInt(32);
Affix.Parse(buffer);
}
public override void Encode(GameBitBuffer buffer)
{
buffer.WriteUInt(32, ItemID);
buffer.WriteInt(32, Field1);
Affix.Encode(buffer);
}
public override void AsText(StringBuilder b, int pad)
{
b.Append(' ', pad);
b.AppendLine("ChangeUsableItemMessage:");
b.Append(' ', pad++);
b.AppendLine("{");
b.Append(' ', pad); b.AppendLine("ItemID: 0x" + ItemID.ToString("X8") + " (" + ItemID + ")");
b.Append(' ', pad); b.AppendLine("Field1: 0x" + Field1.ToString("X8") + " (" + Field1 + ")");
b.Append(' ', --pad);
b.AppendLine("}");
}
}
}

View File

@ -0,0 +1,47 @@
//Blizzless Project 2022
using System;
//Blizzless Project 2022
using System.Collections.Generic;
//Blizzless Project 2022
using System.Linq;
//Blizzless Project 2022
using System.Text;
//Blizzless Project 2022
using System.Threading.Tasks;
namespace DiIiS_NA.GameServer.MessageSystem.Message.Fields
{
public class UnlockableRandomAffixProperties
{
public int field0;
public bool field1;
public void Parse(GameBitBuffer buffer)
{
field0 = buffer.ReadInt(32);
field1 = buffer.ReadBool();
}
public void Encode(GameBitBuffer buffer)
{
buffer.WriteInt(32, field0);
buffer.WriteBool(field1);
}
public void AsText(StringBuilder b, int pad)
{
b.Append(' ', pad);
b.AppendLine("UnlockableRandomAffixProperties:");
b.Append(' ', pad++);
b.AppendLine("{");
b.Append(' ', pad);
b.AppendLine("field0: 0x" + field0.ToString("X8"));
b.Append(' ', pad);
b.AppendLine("field1: 0x" + field1);
b.Append(' ', --pad);
b.AppendLine("}");
}
}
}

View File

@ -572,7 +572,7 @@ namespace DiIiS_NA.GameServer.MessageSystem
PlayerIndexMessage16 = 550,//SIZE 12 PlayerIndexMessage16 = 550,//SIZE 12
//*/ //*/
#endregion #endregion
#region 2.7.3 #region 2.7.4
ClientTryConsoleCommand = 1,//SIZE 1060 - Client ClientTryConsoleCommand = 1,//SIZE 1060 - Client
ServerTryConsoleCommand = 2,//SIZE 1060 - Server ServerTryConsoleCommand = 2,//SIZE 1060 - Server
QuitGameMessage = 3,//SIZE 12 QuitGameMessage = 3,//SIZE 12
@ -1111,10 +1111,10 @@ namespace DiIiS_NA.GameServer.MessageSystem
PlayerLoadoutTabIconMessage = 534, // //SIZE16 PlayerLoadoutTabIconMessage = 534, // //SIZE16
PlayerLoadoutSaveMessage1 = 535, // //SIZE68 PlayerLoadoutSaveMessage1 = 535, // //SIZE68
ANNDataMessage45 = 536, // //SIZE12 ANNDataMessage45 = 536, // //SIZE12
PlayerLoadoutDataMessage = 537, // //SIZE592 PlayerLoadoutDataMessage = 537, // //SIZE 808 - 2.7.4
PlayerLoadoutDataMessage1 = 538, // //SIZE592 PlayerLoadoutDataMessage1 = 538, // //SIZE 808 - 2.7.4
PlayerLoadoutTabIconMessage1 = 539, // //SIZE16 PlayerLoadoutTabIconMessage1 = 539, // //SIZE16
PlayerLoadoutEquipmentUpdateMessage = 540, // //SIZE48 PlayerLoadoutEquipmentUpdateMessage = 540, // //SIZE 64 - - 2.7.4
PlayerLoadoutEquipResultsMessage = 541, // //SIZE156 PlayerLoadoutEquipResultsMessage = 541, // //SIZE156
SwapSkillsMessage = 542, // //SIZE16 SwapSkillsMessage = 542, // //SIZE16
GBIDDataMessage5 = 543, // //SIZE12 GBIDDataMessage5 = 543, // //SIZE12
@ -1125,6 +1125,10 @@ namespace DiIiS_NA.GameServer.MessageSystem
ANNDataMessage46 = 548, // //SIZE12 ANNDataMessage46 = 548, // //SIZE12
DungeonFinderCompletionTimeMessage = 549, // //SIZE16 DungeonFinderCompletionTimeMessage = 549, // //SIZE16
IntDataMessage26 = 550, // //SIZE 12 IntDataMessage26 = 550, // //SIZE 12
IntDataMessage27 = 551, // //SIZE 12 - 2.7.4
UberBossClosingMessage = 552, // //SIZE 16 - 2.7.4
PlayerIndexMessage16 = 551, // //SIZE 12 - 2.7.4
UnlockableRandomAffixMessage = 553, // //SIZE124 - 2.7.4
#endregion #endregion
} }
} }

View File

@ -83,7 +83,7 @@ namespace DiIiS_NA
public static string RESTSERVERIP = DiIiS_NA.REST.Config.Instance.IP; public static string RESTSERVERIP = DiIiS_NA.REST.Config.Instance.IP;
public static string PUBLICGAMESERVERIP = DiIiS_NA.GameServer.NATConfig.Instance.PublicIP; public static string PUBLICGAMESERVERIP = DiIiS_NA.GameServer.NATConfig.Instance.PublicIP;
public static int Build = 11; public static int Build = 29;
public static int Stage = 4; public static int Stage = 4;
public static string TypeBuild = "Beta"; public static string TypeBuild = "Beta";
public static bool D3CoreEnabled = DiIiS_NA.GameServer.Config.Instance.CoreActive; public static bool D3CoreEnabled = DiIiS_NA.GameServer.Config.Instance.CoreActive;
@ -99,7 +99,7 @@ namespace DiIiS_NA
string Name = $"Blizzless: Build {Build}, Stage: {Stage} - {TypeBuild}"; string Name = $"Blizzless: Build {Build}, Stage: {Stage} - {TypeBuild}";
Console.WriteLine(" " + Name); Console.WriteLine(" " + Name);
Console.WriteLine("Connected Module: 0x00 - Diablo 3 RoS 2.7.3.82785"); Console.WriteLine("Connected Module: 0x00 - Diablo 3 RoS 2.7.4.84161");
Console.WriteLine("------------------------------------------------------------------------"); Console.WriteLine("------------------------------------------------------------------------");
Console.ResetColor(); Console.ResetColor();
Console.Title = Name; Console.Title = Name;