Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms


pvpgn (2) Versions 0.0.18

Installs/Configures pvpgn

cookbook 'pvpgn', '= 0.0.18'
cookbook 'pvpgn', '= 0.0.18', :supermarket
knife cookbook site install pvpgn
knife cookbook site download pvpgn


This cookbook will automatically install and configure PvPGN (Player vs. Player Gaming Network).

PvPGN is based on bnetd and supports emulation of the following games:

  • StarCraft
  • Diablo II
  • Diablo II LoD
  • Warcraft III
  • Tiberian Sun
  • Red Alert 2
  • Yuri's Revenge


After applying the pvpgn::default recipe to your new game server, you'll also need to install the BnetEditor on your client machine. This is required so you can add the Ip address of your new game server as a new gateway. Otherwise your client won't be able to find your game server. You can down load BnetEditor here.

There are also several attributes you'll want to override in a role with values relevant to your environment.


The following games have been tested and known to work with the latest version of the PvPGN cookbook.

  • Diablo II LOD (Lords of Destruction) expansion set.


Supported db types: none|mysql|pgsql <pre><code> default['pvpgn']['db_type'] = "mysql" </pre></code> Set to 'yes' to install latest version from source <pre><code> default['pvpgn']['install_latest_from_source'] = "no" </pre></code> Set conf dir. /etc/pvpgn if pvpgn is installed via package manager. /opt/pvpgn/etc if installed from source. <pre><code> default['pvpgn']['conf_dir'] = "/etc/pvpgn" </pre></code> Set the following to configure a Diablo II closed realm server

-------------- Configure d2cs.conf ------------------ <pre><code> default['pvpgn']['realmname'] = "D2CS" </pre></code>

Set realm type <pre><code> default['pvpgn']['lod_realm'] = "2" </pre></code>

WARNING!! DO NOT USE "" or "localhost" !!! <pre><code> default['pvpgn']['d2cs_servaddrs'] = "" </pre></code>

YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY WARNING!! DO NOT USE "" or "localhost" !!! <pre><code> default['pvpgn']['d2cs_gameservlist'] = "<d2gs-IP>,<another-d2gs-IP>" </pre></code>

YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY WARNING!! DO NOT USE "" or "localhost" !!! <pre><code> default['pvpgn']['bnetdaddr'] = "<bnetd-IP>:6112"

default['pvpgn']['d2cs_loglevels'] = "fatal,error,warn,info,debug,trace" </pre></code> ---------------End configure of d2cs.conf------------------

----------------- Configure realm.list --------------------

YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY <pre><code> default['pvpgn']['reaml_list'] = "\"D2CS\"\t\t\t\t\"PvPGN Closed Realm\"\t\t\t\t1.2.3.4:6113" </pre></code> ---------------End configure of realm.list ------------------

------------------ Configure d2dbs.conf----------------------

Only necessary if using MySQL or PostgreSQL WARNING!! DO NOT USE "" or "localhost" !!! <pre><code> default['pvpgn']['d2dbs_servaddrs'] = "" </pre></code>

YOU MUST CHANGE THIS OR D2DBS WON'T WORK PROPERLY WARNING!! DO NOT USE "" or "localhost" !!! <pre><code> default['pvpgn']['d2dbs_gameservlist'] = "<d2gs-IP>,<another-d2gs-IP>"

default['pvpgn']['d2dbs_loglevels'] = "fatal,error,warn,info,debug,trace" </pre></code>


Below is a sample role to aadd to your node's .json config file. <pre><code> name "pvpgn_game_server" description "" run_list "recipe[pvpgn]" override_attributes "pvpgn" => { "realmname" => "My Awesome Realm!!", "d2cs_servaddrs" => "", "d2cs_gameservlist" => "", "bnetdaddr" => "", "d2cs_loglevels" => "fatal,error,warn,info,debug,trace", "reaml_list" => "\"My awesome Realm!\"\t\"My Closed Realm\"\t192.168.10.10", "d2dbs_servaddrs" => "", "d2dbs_gameservlist" => "", "d2dbs_loglevels" => "fatal,error,warn,info,debug,trace", "lod_realm" => "1" } </pre></code>

Add the role to the run list of your server's .json config file like so: <pre><code> "run_list": [ "role[pvpgn_game_server]" ], </pre></code>

Upload the role to your Chef server or the Opscode platform like so: <pre><code> knife role from file roles/pvpgn_game_server.rb </pre></code>

Re-run chef-client on your node, as root or via sudo, to update it's config like so: <pre><code> chef-client </pre></code>

Dependent cookbooks

postgresql >= 0.0.0
mysql >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

No quality metric results found