All Projects → nielsAD → gowarcraft3

nielsAD / gowarcraft3

Licence: MPL-2.0 license
GoWarcraft3 provides a set of go packages and utilities that ease working with Warcraft III protocols and file formats.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to gowarcraft3

h-vjass
h-vjass.hunzsig.org
Stars: ✭ 23 (-45.24%)
Mutual labels:  warcraft3, w3x
wc3libs
Java library for reading and modifying Warcraft III maps and game files
Stars: ✭ 21 (-50%)
Mutual labels:  warcraft3
h-lua
h-lua.hunzsig.org
Stars: ✭ 27 (-35.71%)
Mutual labels:  warcraft3
h-war3
已迁移到 https://github.com/hunzsig-warcraft3
Stars: ✭ 16 (-61.9%)
Mutual labels:  warcraft3
war3-model
TypeScript-based mdl/mdx (Warcraft 3 model formats) converter/renderer
Stars: ✭ 56 (+33.33%)
Mutual labels:  warcraft3
Ice-Sickle
ARCHIVED: This project is archived because updates are now being made to the original World Editor (reforged), and because HiveWE is making amazing progress.
Stars: ✭ 13 (-69.05%)
Mutual labels:  warcraft3
embedded-japi-plugin
魔兽地图 内置japi插件文档
Stars: ✭ 29 (-30.95%)
Mutual labels:  warcraft3
War3Net
A .NET implementation of Warcraft III related libraries.
Stars: ✭ 76 (+80.95%)
Mutual labels:  warcraft3
JMPQ3
Native Java mpq archive library
Stars: ✭ 34 (-19.05%)
Mutual labels:  warcraft3

GoWarcraft3

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].