# PvPGN

PvPGN (Player vs Player Gaming Network) is a free and open source software project offering emulation of various gaming network servers. It is published under the GPL and based upon bnetd.
It supports most features for Blizzard Entertainment's Battle.net "classic" games (Diablo, Diablo II, Diablo II: Lord of Destruction, StarCraft, StarCraft: Brood War, Warcraft II: Battle.net Edition, Warcraft III: Reign of Chaos, Warcraft III: The Frozen Throne). It also offers basic support for Westwood Online clients (Command & Conquer: Tiberian Sun, Command & Conquer: Red Alert 2, Command & Conquer: Yuri's Revenge). Westwood support is still at an experimental state.

## Typical uses

A PvPGN Server can be used:
* When wanting to host a local tournament with local users and ladders.
* When wanting to maintain a local community of friends rather than playing on Battle.net.
* For people who want to play on a LAN but with Battle.net-like statistics. Various cyber cafes use a PvPGN server for this purpose.
* For people who want to play on a server within their country or local area, so as to reduce lag.

## Supported protocols

The list of supported clients and their minimum version required is:
* Battle.net
** Diablo I 1.09
** StarCraft 1.16.1.1
** Starcraft: Brood War 1.16.1.1
** Warcraft II Battle.Net Edition 2.02
** Diablo II 1.09 and 1.10 (and unofficially 1.11b, 1.12a)
** Diablo II: Lord of Destruction 1.09 and 1.10 (and unofficially 1.11b, 1.12a, 1.13c)
** Warcraft III: Reign of Chaos 1.21
** Warcraft III: The Frozen Throne 1.21 (and 1.22.0.6328)
* Westwood Online
** Command & Conquer Win95 edition v1.04a (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Command & Conquer: Red Alert Win95 edition v2.00 and v3.03 (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Command & Conquer: Tiberian Sun v2.03 ST-10 (Alpha in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Command & Conquer: Tiberian Sun Firestorm (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Command & Conquer: Red Alert 2 1.006 (Alpha in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Command & Conquer: Yuri's Revenge v1.001 (Alpha in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Command & Conquer: Renegade (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Nox v1.02b (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Nox Quest v1.02b (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Dune 2000 v1.06 (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)
** Emperor: Battle for Dune v1.09 (not supported in PvPGN 1.8.2, Beta in PvPGN 1.99)

## Supported platforms

* BeOS
* FreeBSD 4.x 5.x 6.x 7.x 8.x
* Linux 2.4 and later
* Mac OS X 10.2 and up
* Microsoft Windows 5x/6x kernel, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Home Server
* Solaris
* Platform support should be easy on any POSIX compatible system. (Tested on 32 and 64 bit platforms, various integer byte endings, etc.)

## Code style and development

PvPGN is free software, licensed under the GNU General Public License version 2. It is written in the C programming language; its source code is hosted in a CVS repository. PvPGN is mature and highly scalable - a single server instance is capable of over 21,000 real-time connections.

### C++ branch

Starting with PvPGN 1.99, a new branch was created and work is underway to incrementally convert the codebase to C++. The new branch is hosted in Apache Subversion rather than CVS.