• Welcome to Valhalla Legends Archive.
 
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Heinermann

#1
I'm doing this as a Hobby. Diablo and WC2 both took me 1 day, so not much of it is really detailed.

These don't include the Storm header, because I intercepted them at the program level (SNetSendTurn and SNetSendMessage from Storm.dll).
Diablo: http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Diablo/StormClass.txt
Wc2 Class 1: http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Warcraft2/StormClass1.txt
Wc2 Class 2: http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Warcraft2/StormClass2.txt

Diablo 2 (Client): http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Diablo II/client.txt
Diablo 2 (Server): http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Diablo%20II/server.txt
Client packets intercepted from send() in D2Net.dll, and Server packets intercepted from Fog_10224 in D2Net.dll.
#2
http://code.google.com/p/vgce/source/browse/trunk/docs/Blizzard/Starcraft/packets2.txt
Still slightly outdated.

Notes:
Command class 1 is SNetSendMessage and SNetReceiveMessage via storm.
Command class 2 is SNetSendTurn and SNetReceiveTurns.
Command class 3 is unknown, but used by SNet135. (SNet135 is not used by Starcraft or older Blizzard games, even though storm.dll exports this entry. Someone please check if it is used in WC3 or WoW.)
Command class 0 is used for everything else.

SNetJoinGame uses command IDs 1(const size 4), 2(const size 4), 4(variable size?), 7(variable size?), and 12(const size 12).
SNetSetGameMode uses command ID 14(const size 4).
SNetLeaveGame uses command ID 11(const size 8).
SNetDropPlayer uses command ID 12(const size 12).
SNetInitializeProvider uses command IDs 3(const size 4), 5(variable size?), 6(variable size?), 8(variable size?), 9(variable size?), and 15(const size 4).
SNetGetOwnerTurnsWaiting and some others use command ID 13 (const size 4).

QuoteAnyone can help with SERVER GAME SETTING INFO??? Unknown datas has nothing to do with slots states/races/players in the game, could it be the default slot race ??
Try this:

u16         GameTemplate_gameType;
u16         GameTemplate_subType;
u16         GameTemplate_subTypeDisplay;
u16         GameTemplate_subTypeLabel;
u8          GameTemplate_victoryConditions
               {
                   0x00 = "Map Default",
                   0x01 = "Melee",
                   0x02 = "Highest Score",
                   0x03 = "Resources",
                   0x04 = "CTF",
                   0x05 = "Sudden Death",
                   0x06 = "Slaughter",
                   0x07 = "One on One"
               };
u8          GameTemplate_resourceType
               {
                   0x00 = "Map Default",
                   0x01 = "Fixed Value",
                   0x02 = "Low",
                   0x03 = "Medium",
                   0x04 = "High",
                   0x05 = "Income"
               };
u8          GameTemplate_useStandardUnitStats;
u8          GameTemplate_fogOfWarUnused;
u8          GameTemplate_startingUnits
               {
                   0x00 = "Map Default",
                   0x01 = "Workers Only",
                   0x02 = "Workers and Center"
               };
u8          GameTemplate_useFixedPositions;
u8          GameTemplate_restrictionFlags
               {
                   0x01 = "Allow Computer Players",
                   0x02 = "Allow Single Player"
               };
u8          GameTemplate_alliesAllowed;
u8          GameTemplate_teams;
u8          GameTemplate_cheats;
u8          GameTemplate_tournamentMode;
u32         GameTemplate_victoryConditionValue;
u32         GameTemplate_resourcesValue;
u32         GameTemplate_unused;
u8          extraUnused;


Units, orders, upgrades, techs, etc. Can all be found in modding tools(DATEdit) and websites(Staredit.net).
#3
I have updated the wiki on command class 1 and 2 data.

http://www.maplantis.org/index.php?pg=wiki;id=99
#4
In comparison to the Replay Opcode format, the packet opcodes, I have observed to be the same.

Opcodes: http://www.maplantis.org/index.php?pg=wiki;id=99
Orders: http://www.maplantis.org/index.php?pg=wiki;id=104
Units: http://www.maplantis.org/index.php?pg=wiki;id=101
Technologies: http://www.maplantis.org/index.php?pg=wiki;id=102
Upgrades: http://www.maplantis.org/index.php?pg=wiki;id=103

Slot Owner
    * 00 - Inactive
    * 01 - Passive (Enemy)
    * 02 - Occupied by Human Player
    * 03 - Rescue Passive
    * 04 - Unused
    * 05 - Computer
    * 06 - Human (Open Slot)
    * 07 - Neutral
    * 08 - Closed

Race
    * 00 - Zerg
    * 01 - Terran
    * 02 - Protoss
    * 03 - Unused (Independent)
    * 04 - Unused (Neutral)
    * 05 - User Selectable
    * 06 - Random (Forced in UMS[not actually random], Random in melee)
    * 07 - Inactive


Also I'm assuming there are packets for

1. Making game public.
2. Booting/Banning a player.
3. Clicking Start in the Mission Briefing.
4. Sending Text.
5. Team Melee stuff.