Jump to content

PvPGN

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 68.229.171.86 (talk) at 13:10, 29 January 2016 (Changed links to reflect current code repositiory). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

PvPGN
Developer(s)PvPGN Team
Stable release
1.8.5
Preview release
1.99.r577
Repository
Operating systemCross-platform
TypeOpen Source Software
LicenseGNU GPL
Websitegithub.com/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. PvPGN was a recommended project of the month in the August 2005 issue of Linux+ magazine.

It currently supports most features of all Battle.net classic clients (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 Online support is still very experimental.

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:

Supported Platforms

Code style and development

PvPGN is written in C, and it currently is a highly scalable, mature piece of software, with records broken of over 21,000 real-time connections on a single server.

C++ Branch

Starting with PvPGN 1.99, PvPGN has been recoded in C++. This is an evolutionary not revolutionary process, thus the C code base is being converted to C++ one section at a time. This is not a fresh re-write. Also the new C++ branch is stored in an SVN repository as opposed to CVS.