Categorygithub.com/ancientice/gowarcraft3
module
1.6.0
Repository: https://github.com/ancientice/gowarcraft3.git
Documentation: pkg.go.dev

# README

GoWarcraft3

Build Status Build status GoDoc License: MPL 2.0

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

Tools

NameDescription
capiclientA command-line interface for the official classic Battle.net chat API.
bncsclientA mocked Warcraft III chat client that can be used to connect to BNCS servers.
w3gsclientA mocked Warcraft III game client that can be used to add dummy players to games.
bncsdumpA tool that decodes and dumps BNCS packets via pcap (on the wire or from a file).
w3gsdumpA tool that decodes and dumps W3GS packets via pcap (on the wire or from a file).
w3gdumpA tool that decodes and dumps w3g/nwg files.
w3mdumpA 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 vendor submodules
git submodule update --init --recursive

# Run tests
make test

# Build release files in ./bin/
make release

Packages

NameDescription
filePackage file implements common utilities for handling Warcraft III file formats.
file/blpPackage blp is a BLIzzard Picture image format decoder.
file/fsPackage fs implements Warcraft 3 file system utilities.
file/mpqPackage mpq provides golang bindings to the StormLib library to read MPQ archives.
file/w3gPackage w3g implements a decoder and encoder for w3g files.
file/w3mPackage w3m implements basic information extraction functions for w3m/w3x files.
networkPackage network implements common utilities for higher-level (emulated) Warcraft III network components.
network/chatPackage chat implements the official classic Battle.net chat API.
network/bnetPackage bnet implements a mocked BNCS client that can be used to interact with BNCS servers.
network/dummyPackage dummy implements a mocked Warcraft 3 game client that can be used to add dummy players to lobbies.
network/lanPackage lan implements a mocked Warcraft 3 LAN client that can be used to discover local games.
network/lobbyPackage lobby implements a mocked Warcraft III game server that can be used to host lobbies.
network/peerPackage peer implements a mocked Warcraft 3 client that can be used to manage peer connections in lobbies.
protocolPackage protocol implements common utilities for Warcraft III network protocols.
protocol/capiPackage capi implements the datastructures for the official classic Battle.net chat API.
protocol/bncsPackage bncs implements the old Battle.net chat protocol for Warcraft III.
protocol/w3gsPackage w3gs implements the game protocol for Warcraft III.

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

# Packages

No description provided by the author
Package file implements common utilities for handling Warcraft III file formats.
Package network implements common utilities for higher-level (emulated) Warcraft III network components.
Package protocol implements common utilities for Warcraft III network protocols.