All Projects → BNETDocs → bncsutil

BNETDocs / bncsutil

Licence: LGPL-2.1 License
The Classic Battle.net™ client library

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
CMake
9771 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to bncsutil

mpyq
Python library for reading MPQ archives.
Stars: ✭ 86 (+352.63%)
Mutual labels:  blizzard, starcraft
hearthstone-card-images
(Archived, see below) Hearthstone card image repository
Stars: ✭ 63 (+231.58%)
Mutual labels:  warcraft, blizzard
sc2gears
The COMPLETE (!) source code of the Sc2gears universe (Sc2gears app + Sc2gears Database + web-based parsing engine - bundled in an Eclipse project).
Stars: ✭ 30 (+57.89%)
Mutual labels:  utility, starcraft
bash
A collection of small bash utils.
Stars: ✭ 15 (-21.05%)
Mutual labels:  utility
discord-wow-armory-bot
⚔️🗡️ World of Warcraft bot for Discord which checks a characters item level, notable achievements and pve/pvp progression and posts it in the chat.
Stars: ✭ 31 (+63.16%)
Mutual labels:  blizzard
ToGoZip
Android share/sendTo menu implementation "add2Zip"
Stars: ✭ 44 (+131.58%)
Mutual labels:  utility
arr-flatten
Recursively flatten an array or arrays. This is the fastest implementation of array flatten.
Stars: ✭ 55 (+189.47%)
Mutual labels:  utility
pynotify
A Python package to send emails like humans.
Stars: ✭ 21 (+10.53%)
Mutual labels:  utility
dePAC
seamless Proxy Auto-Config (a.k.a. Web Proxy Auto Discovery) for CLI apps
Stars: ✭ 26 (+36.84%)
Mutual labels:  utility
Vutils
Vutils or Vic Utilities is an utility library written in Modern C++ and for Modern C++. It helps your programming go easier, faster, and simpler.
Stars: ✭ 16 (-15.79%)
Mutual labels:  utility
CLIp
CLIp is a clipboard manager for a command line interface written in 100% standard C only. Pipe to it to copy, pipe from it to paste.
Stars: ✭ 12 (-36.84%)
Mutual labels:  utility
tiler
N-dimensional NumPy array tiling and merging with overlapping, padding and tapering
Stars: ✭ 26 (+36.84%)
Mutual labels:  utility
ctxutil
utils for Go context
Stars: ✭ 18 (-5.26%)
Mutual labels:  utility
91porn-utility
91porn comprehensive utility
Stars: ✭ 78 (+310.53%)
Mutual labels:  utility
rearmed rails
A collection of helpful methods and monkey patches for Rails
Stars: ✭ 34 (+78.95%)
Mutual labels:  utility
diskusage
FANTASTIC SPEED utility to find out top largest folders/files on the disk.
Stars: ✭ 64 (+236.84%)
Mutual labels:  utility
riddler
Riddler is a lightweight, performant microservice that checks passwords against the NCSC top list of the most common passwords
Stars: ✭ 31 (+63.16%)
Mutual labels:  passwords
asynckit
Minimal async jobs utility library, with streams support
Stars: ✭ 21 (+10.53%)
Mutual labels:  utility
json2xml
json to xml converter in python3
Stars: ✭ 76 (+300%)
Mutual labels:  utility
CoachAI
BWAPI AI that helps you play/analyze StarCraft v1.16 game/replay with more eyes/ears/brains, get ready for a 3rd eye/ear and a 2nd brain operation !
Stars: ✭ 21 (+10.53%)
Mutual labels:  starcraft

BNCSUtil

GitHub top language License Badge GitHub Workflow Status (master) GitHub stars

BNCSUtil is the Battle.Net Chat Service Utility which aids applications trying to logon to Classic Battle.net™ using the binary protocol. Specifically, BNCSUtil has functions that help with the cryptography of game versions, keys, and passwords.

BNCSUtil was originally written by Eric Naeseth (shadypalm88) and has since been maintained over the course of several years by the open source Battle.net community.

Usage

Add bncsutil.h to your include directory and link against bncsutil.lib or libbncsutil.so.

Building with conan and CMake

Conan will automatically install mpir on Windows and gmp on non-Windows platforms.

To force a specific build (32bit or 64bit) add -DCMAKE_GENERATOR_PLATFORM=x86 or -DCMAKE_GENERATOR_PLATFORM=x64 to CMake flags.

Windows Visual Studio 2019

Version 2019 has compiler version 16, 2015 has compiler version 14.

Change -o *:shared option if you want to link static or dynamic dependencies.

Change BUILD_SHARED_LIBS to build the library as static or shared.

conan install . -if ./build -s compiler.version=16 -s arch=x86_64 -o *:shared=True
cmake -G "Visual Studio 16 2019" -B./build -DBUILD_SHARED_LIBS=1 -DCMAKE_GENERATOR_PLATFORM=x64

Linux

conan install . -if ./build
cmake -G "Unix Makefiles" -B./build
cd build && make && make install

Building using system dependencies

Instead of using conan you can link against system provided gmp. Install libgmp-dev on deb distros or gmp-devel on rpm distros. For 32bit builds, CMake will not warn you if you are missing 32bit glibc and GMP, you must install them manually first (CentOS/Fedora: glibc-devel.i686 and gmp-devel.i686).

cmake -G "Unix Makefiles" -B./build -DUSE_SYSTEM_LIBS=1
cd build && make && make install

Building .deb and .rpm packages

After invoking CMake, cd to build folder and generate them with cpack -G "DEB" and cpack -G "RPM". You can then use gdebi to do a local install of .deb with automatic dependency resolution or yum localinstall on rpm distros. For dnf it's dnf install <name>.rpm.

Hosted Linux repositories

DEB and RPM repositories are maintained with best effort.

Debian 8 and 9 (amd64)

  1. To /etc/apt/sources.list add:

9

#apt.xpam.pl
deb http://apt.xpam.pl/debian9/ bnetdocs-stretch main

8

#apt.xpam.pl
deb http://apt.xpam.pl/debian8/ bnetdocs-jessie main
  1. Add GPG key: wget -qO - https://apt.xpam.pl/xpam.pl-pubkey.asc | sudo apt-key add -
  2. Update and install: sudo apt-get update && sudo apt-get install bncsutil

Centos 7

yum -y install yum-utils
yum-config-manager --add-repo https://centos7.rpm.xpam.pl
yum-config-manager --enable https://centos7.rpm.xpam.pl
rpm --import https://centos7.rpm.xpam.pl/xpam.pl-pubkey.asc
yum -y install bncsutil

Centos 6

yum -y install yum-utils
yum-config-manager --add-repo https://centos6.rpm.xpam.pl
yum-config-manager --enable https://centos6.rpm.xpam.pl
rpm --import https://centos6.rpm.xpam.pl/xpam.pl-pubkey.asc
yum -y install bncsutil
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].