gowarcraft3

module
v1.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2022 License: MPL-2.0

README

GoWarcraft3

Build Status GoDoc

This library provides a set of go packages and command line utilities that implement Warcraft III protocols and file formats.

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.
Download

Official binaries for tools are available. Simply download and run.

Note: additional dependencies may be required (see build).

Build
# Linux dependencies
apt-get install --no-install-recommends -y build-essential cmake git golang-go libgmp-dev libbz2-dev zlib1g-dev libpcap-dev

# OSX dependencies
brew install cmake git go gmp bzip2 zlib libpcap

# Windows dependencies (use MSYS2 -- https://www.msys2.org/)
pacman --needed --noconfirm -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-go mingw-w64-x86_64-cmake

# Download third party submodules
git submodule update --init --recursive

# Run tests
make test

# Build release files in ./bin/
make release

Packages

Name Description
file Package file implements common utilities for handling Warcraft III file formats.
file/blp Package blp is a BLIzzard Picture image format decoder.
file/fs Package fs implements Warcraft III file system utilities.
file/mpq Package mpq provides golang bindings to the StormLib library to read MPQ archives.
file/reg Package reg implements cross-platform registry utilities for Warcraft III.
file/w3g Package w3g implements a decoder and encoder for w3g files.
file/w3m Package w3m implements basic information extraction functions for w3m/w3x files.
network Package network implements common utilities for higher-level (emulated) Warcraft III network components.
network/chat Package chat implements the official classic Battle.net chat API.
network/bnet* Package bnet implements a mocked BNCS client that can be used to interact with BNCS servers.
network/dummy Package dummy implements a mocked Warcraft III game client that can be used to add dummy players to lobbies.
network/lan Package lan implements a mocked Warcraft III LAN client that can be used to discover local games.
network/lobby Package lobby implements a mocked Warcraft III game server that can be used to host lobbies.
network/peer Package peer implements a mocked Warcraft III client that can be used to manage peer connections in lobbies.
protocol Package protocol implements common utilities for Warcraft III network protocols.
protocol/capi Package capi implements the datastructures for the official classic Battle.net chat API.
protocol/bncs* Package bncs implements the old Battle.net chat protocol for Warcraft III.
protocol/w3gs Package w3gs implements the game protocol for Warcraft III.

*note: BNCS/BNet protocol works up until patch 1.32.

Download
go get github.com/nielsAD/gowarcraft3/${PACKAGE_NAME}
Import
import (
    "github.com/nielsAD/gowarcraft3/${PACKAGE_NAME}"
)

Note: additional dependencies may be required (see build).

Documentation

Documentation is available on godoc.org

Directories

Path Synopsis
cmd
bncsclient
bncsclient is a mocked Warcraft III chat client that can be used to connect to BNCS servers.
bncsclient is a mocked Warcraft III chat client that can be used to connect to BNCS servers.
bncsdump
bncsdump is a tool that decodes and dumps bncs packets via pcap (on the wire or from a file).
bncsdump is a tool that decodes and dumps bncs packets via pcap (on the wire or from a file).
capiclient
capiclient is a command-line interface for the official classic Battle.net chat API.
capiclient is a command-line interface for the official classic Battle.net chat API.
w3gdump
w3gdump is a tool that decodes and dumps w3g files.
w3gdump is a tool that decodes and dumps w3g files.
w3gsclient
w3gsclient is a mocked Warcraft III game client that can be used to add dummy players to games.
w3gsclient is a mocked Warcraft III game client that can be used to add dummy players to games.
w3gsdump
w3gsdump is a tool that decodes and dumps w3gs packets via pcap (on the wire or from a file).
w3gsdump is a tool that decodes and dumps w3gs packets via pcap (on the wire or from a file).
w3mdump
w3mdump is a tool that decodes and dumps w3m/w3x files.
w3mdump is a tool that decodes and dumps w3m/w3x files.
Package file implements common utilities for handling Warcraft III file formats.
Package file implements common utilities for handling Warcraft III file formats.
blp
Package blp is a BLIzzard Picture image format decoder.
Package blp is a BLIzzard Picture image format decoder.
fs
Package fs implements Warcraft III file system utilities.
Package fs implements Warcraft III file system utilities.
fs/dir
Package dir locates the Warcraft III installation and user directories.
Package dir locates the Warcraft III installation and user directories.
mpq
Package mpq provides golang bindings to the StormLib library to read MPQ archives.
Package mpq provides golang bindings to the StormLib library to read MPQ archives.
reg
Package reg implements cross-platform registry utilities for Warcraft III.
Package reg implements cross-platform registry utilities for Warcraft III.
w3g
Package w3g implements a decoder and encoder for w3g files.
Package w3g implements a decoder and encoder for w3g files.
w3m
Package w3m implements basic information extraction functions for w3m/w3x files.
Package w3m implements basic information extraction functions for w3m/w3x files.
Package network implements common utilities for higher-level (emulated) Warcraft III network components.
Package network implements common utilities for higher-level (emulated) Warcraft III network components.
bnet
Package bnet implements a mocked BNCS client that can be used to interact with BNCS servers.
Package bnet implements a mocked BNCS client that can be used to interact with BNCS servers.
chat
Package chat implements the official classic Battle.net chat API.
Package chat implements the official classic Battle.net chat API.
dummy
Package dummy implements a mocked Warcraft III game client that can be used to add dummy players to lobbies.
Package dummy implements a mocked Warcraft III game client that can be used to add dummy players to lobbies.
lan
Package lan implements a mocked Warcraft III LAN client that can be used to discover local games.
Package lan implements a mocked Warcraft III LAN client that can be used to discover local games.
lobby
Package lobby implements a mocked Warcraft III game server that can be used to host lobbies.
Package lobby implements a mocked Warcraft III game server that can be used to host lobbies.
peer
Package peer implements a mocked Warcraft III client that can be used to manage peer connections in lobbies.
Package peer implements a mocked Warcraft III client that can be used to manage peer connections in lobbies.
Package protocol implements common utilities for Warcraft III network protocols.
Package protocol implements common utilities for Warcraft III network protocols.
bncs
Package bncs implements the old Battle.net chat protocol for Warcraft III.
Package bncs implements the old Battle.net chat protocol for Warcraft III.
capi
Package capi implements the datastructures for the official classic Battle.net chat API.
Package capi implements the datastructures for the official classic Battle.net chat API.
w3gs
Package w3gs implements the game protocol for Warcraft III.
Package w3gs implements the game protocol for Warcraft III.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL