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.
PvPGN running on Linux, Fedora Core 4 | |
Developer(s) | PvPGN Team |
---|---|
Stable release | 1.8.5
|
Preview release | 1.99.r577
|
Repository | |
Operating system | Cross-platform |
Type | Open Source Software |
License | GNU GPL |
Website | github.com/pvpgn |
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:
- 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 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.