Gowarcraft3 Versions Save

GoWarcraft3 provides a set of go packages and utilities that ease working with Warcraft III protocols and file formats.

v1.7.1

2 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3gdump A tool that decodes and dumps w3g/nwg files.
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

870d38c ci: Remove leftover from Makefile
7ac7413 ci: Remove invalid characters in artifact names
700de6c ci: Static link Windows binaries
bfda02e bncs: Ignore unexpected packets during login protocol

v1.7.0

2 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3gdump A tool that decodes and dumps w3g/nwg files.
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

9024a2f go: Switch to go modules
55a22c1 ci: Use GitHub Actions
ddebade ci: Add install-tools target to Makefile
6ba2d08 ci: Upload build artifacts
23e985e ci: Remove Travis and AppVeyor
a93d551 ci: Perform CodeQL analysis

v1.6.0

4 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3gdump A tool that decodes and dumps w3g/nwg files.
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

db38c42 capi: Filter chat before emote/whisper
3c4d125 w3m: Added support for 1.31 and reforged maps format (#4)
07325d7 ci: Don't md5sha1sum, functionality is included in coreutils
1737fb7 w3g,w3gs: Add support for structs added in patch 1.32
7ba5e88 w3gdump: Send profile info when streaming replay
408c660 w3g: Expose PlayerExtra records in Replay
25de237 fs: Add Storage helper that can extract files from wc3 installation
8a58c7a w3gdump: Search for maps inside CASC storage
cb5fda0 fs: Fix darwin compilation
1830567 w3gs: Ignore 0x02 protobuf packet
d0e2be7 fs: Resolve non-standard Documents dir on Windows
25476db network: Ensure time.Ticker resources are released after usage
ed9f3b0 lobby: Add mocked game lobby to host games
27088ed lobby: Add option to share remote net.Addr with other players
ca0ffcc lobby: Remove forceTick channel
8ecb886 network: Add write deadlines to Send() calls
fc57497 lobby: Do not send SlotInfo{} after game has started
19ecb61 lobby: Check if players are Ready() before Start()
a27f149 lobby: Add lag/ready timeout configuration options
5bbe49a readme: Add fs/lobby to list of packages

v1.5.0

5 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3gdump A tool that decodes and dumps w3g/nwg files.
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

9d64fd0 network: Support literal string events through network.Topic()
d14d114 blp: Convert BGR to RGB
aba41d7 w3m: Add support for extracting menu minimap
ed9e570 w3m: Fix typo in MapFlagWaterWavesOnCliffShores
9392c30 w3m: Use image.Uniform instead of filling image.RGBA
efd826b w3gs: Change Message.ExtraFlags to Message.Scope
17a23e9 w3g: Add w3g file decoder
5972344 w3g: Fix parsing certain quirks in (old) w3g files
ee4c112 w3g: Fix parsing certain quirks in nwg files
daca252 w3gdump: Add w3gdump, a tool that decodes and dumps w3g/nwg files
1d32b84 w3gdump: Updated readme
f0b22d2 w3g: Do not use literals with unkeyed fields
6417275 w3g: Add Compressor type to help write data blocks
9c739a6 w3g: Add w3g encoder
a4f3b47 w3gdump: Add -sanitize flag to dump sanitized replay
6315503 w3g: Reuse zlib.Reader/Writer to reduce amortized allocations
e1d6a38 protocol: Implement io.WriterTo interface for Buffer
85b39fb w3g: Use io.ByteReader for zlib.Reader to prevent implicit extra buffer
b566699 w3g: Refactor serialization to use Stream instead of protocol.Buffer
7581f43 w3g: Move header logic to header.go
0dc23de w3g,w3gs,bncs: Add game version arg to (de)serialize  funcs
c1277ea capi: Rename SerializePacket->Write and DeserializePacket->Read similar to w3gs/bncs protocols
c0716ec w3g,w3gs,bncs,capi: Switch to factory pattern for deserialization
4e6560a w3gsclient: Switch command trigger to . for 1.30 compatibility
82522ec lan: Add support for mdns local game discovery (patch >= 30)
ec0bf0d lan: Add Advertiser interface that broadcasts game info to LAN
c534f5f w3gdump: Add -stream option to watch game via LAN
9143f64 lan: Also query multicast dns in case firewall blocks unicast
52d4f6a lan: Split udp/mdns components to separate files
af44e2b docs: Add package examples
ba60ad1 network: Add ECONNABORTED/ENOTCONN/ESHUTDOWN to IsConnClosedError check
7f90140 bnet,dummy: Disable tcp keepalive
793c324 network: Have AsyncError implement Temporary/Timeout interface
c25003e network: Check ungraceful errors with IsUnexpectedCloseError instead of IsCloseError
4e30482 w3gdump: Add .time command to print current timestamp

v1.4.0

5 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

ca63339 bnet: Look for war3.exe before Warcraft III.exe
aa777fb bncsclient: Add option to override exe version/hash
40ac392 bncsclient: Add -verify option to check server signature
d3a17c2 bnet: Verify server password proof after NLS exchange
e6ecf3b bnet: Add support for SHA1 pw auth (used in old PvPGN servers)

v1.3.0

5 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

aa8d5d6 capi: Fix UserUpdateEvent attributes
62a2ac6 vendor: Update submodules
fc0737f chat: Add UserJoined/UserUpdate/UserLeft events
0682ec6 capi: Fix user attribute for ProgramID
7152d06 ci: Update travis/appveyor to go 1.12

v1.2.1

5 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

1ed213d bnet: Convert unicode emoji to text in SendMessage
94c424d capi: Use uint32 reqid to prevent alignment issues for atomic functions on x86
5e6cf7c peer: Reduce number of simultaneous connections in TestMass

v1.2.0

5 years ago

Tools

Name Description
capiclient A command-line interface for the official classic Battle.net chat API.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

0fc9c40 goop: Move config logic to config.go
4f1c2bf goop: Split to separate repository (github.com/nielsAD/goop)
6923f21 make: Fix test flags
a61ce45 network: Add IsConnRefusedError()
f2d3d4d bnet: Add change password support
25e9e6c network: Add catchall support to event emitter
d05d1cd bnet: Add User(name) getter
15827fa network: Make Fire() return preventNext value
1421a47 network: Rename Emitter->Listener and Firer->Emitter
322ed0f make: Ignore result of rm command
417f431 network: Check for nil error in AsyncError.Error()
c213b9d bnet: Fix case sensitivity in User()
db7e157 ci: Fix golint dependency
7b5c86c ci: Fix AppVeyor
5a46f0f capi: Add Classic Chat API structures/types
495002f capi: Add serialization tests
8ffd1fb capi: Add simple bot that connects to chat API and processes events
4d8761c network: Add websocket error recognition
b236c16 readme: Add capiclient description
297aa00 capi: Filter out non-printable characters before sending chat messages
1292019 ci: Update travis/appveyor to go 1.11

v1.1.0

5 years ago

Tools

Name Description
goop A BNCS Channel Operator that can act as a bridge between Battle.net realms and Discord.
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3mdump A tool that decodes and dumps w3m/w3x files.

Changelog

9e297ee goop: Add Goop (GO OPerator),  a BNCS/Discord Channel Operator
52b9389 goop: Add support for webhook avatars
ecb941c goop: Use time.After instead of time.Sleep to break earlier

v1.0.0

5 years ago

Tools

Name Description
bncsclient A mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclient A mocked Warcraft III game client that can be used to add dummy players to games.
bncsdump A tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdump A tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3mdump A tool that decodes and dumps w3m/w3x files.