Back to the site

PvPGN Installation Guide


Minimal Requirements

CPU
1 core (PvPGN is not multithreaded, but additional cores may be need to handle web server or database server)

RAM
256MB (a required value for the compilation; actually a running server without users takes 2-5MB)

OS
Windows/Linux x86 (theoretically on any POSIX compatible system)

Installation on Windows

a) Download the latest automated build from the web site.
b) Use Magic Builder to build PvPGN from sources accordingly to your SQL database version.

A difference from PvPGN.exe and PvPGNConsole.exe is the first is better for debugging, because you see in real time
what is happening, and the second is for production, because it does not consume additional resources for graphical interface.

You can install/uninstall a Windows service:
  PvPGNConsole.exe -s install
  PvPGNConsole.exe -s uninstall

Installation on Linux (Debian 8)

1) Install required dependencies

sudo apt-get -y install build-essential clang libc++-dev git cmake zlib1g-dev liblua5.1-0-dev libmysql++-dev
2) Download the latest source code and unpack archive
wget https://github.com/pvpgn/pvpgn-server/archive/master.tar.gz
tar xf master.tar.gz
3) Switch to the directory with source and create a new directory "build"
cd pvpgn-server-master
mkdir build
cd build
4) Configure and compile
cmake -D WITH_MYSQL=true -D WITH_LUA=true ../
make && make install
5) Run
/usr/local/sbin/bnetd
Configs are in /usr/local/etc/pvpgn/
Logs, files, scripts are in /usr/local/var/pvpgn/

Configuration

By default PvPGN is ready to work with default configuration and it allows to connect with all game clients.

Below are general options in bnetd.conf that you should pay attention for to run a server in production.

Also do not forget edit text files in "i18n" (motd, termsofservice, news).

There are configuration files described below that belong to the whole server or to specified game clients.

PvPGN

Warcraft 3

Starcraft, Warcraft 2

Diablo 2

Westwood Online

Lua Scripting

Lua is enabled if PvPGN was compiled with cmake flag WITH_LUA=true.
All the *.lua scripts from /var/lua/ and subdirectories are loaded at once when server starts.

Note: Lua is experimental and unfinished. More info can be found on forums, for example here.