Skip to content
Opschef cookbook pvpgn
Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
attributes
data_bags/pvpgn
files/default
recipes
roles
templates/default
test/support
.travis.yml
README.md
Rakefile
metadata.json
metadata.rb

README.md

Travis-ci status: Build Status

DESCRIPTION:

This cookbook will automatically install and configure [PvPGN] (http://pvpgn.berlios.de/) (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

REQUIREMENTS:

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 Battle.net gateway. Otherwise your client won't be able to find your game server. You can down load BnetEditor [here] (http://www.gamesperu.com/component/option,com_remository/Itemid,26/func,startdown/id,12/).

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

WORKING GAMES:

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.

ATTRIBUTES:

Supported db types: none|mysql|pgsql


default['pvpgn']['db_type'] = "mysql"

Set to 'yes' to install latest version from source


default['pvpgn']['install_latest_from_source'] = "no"

Set conf dir. /etc/pvpgn if pvpgn is installed via package manager. /opt/pvpgn/etc if installed from source.


default['pvpgn']['conf_dir'] = "/etc/pvpgn"

Set the following to configure a Diablo II closed realm server

-------------- Configure d2cs.conf ------------------


default['pvpgn']['realmname'] = "D2CS"

Set realm type


default['pvpgn']['lod_realm'] = "2"

WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!


default['pvpgn']['d2cs_servaddrs'] = "0.0.0.0:6113"

YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!


default['pvpgn']['d2cs_gameservlist'] = ","

YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!


default['pvpgn']['bnetdaddr'] = ":6112"

default['pvpgn']['d2cs_loglevels'] = "fatal,error,warn,info,debug,trace"

---------------End configure of d2cs.conf------------------

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

YOU MUST CHANGE THIS OR D2CS WON'T WORK PROPERLY


default['pvpgn']['reaml_list'] = "\"D2CS\"\t\t\t\t\"PvPGN Closed Realm\"\t\t\t\t1.2.3.4:6113"

---------------End configure of realm.list ------------------

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

Only necessary if using MySQL or PostgreSQL WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!


default['pvpgn']['d2dbs_servaddrs'] = "0.0.0.0:6114"

YOU MUST CHANGE THIS OR D2DBS WON'T WORK PROPERLY WARNING!! DO NOT USE "127.0.0.1" or "localhost" !!!


default['pvpgn']['d2dbs_gameservlist'] = ","

default['pvpgn']['d2dbs_loglevels'] = "fatal,error,warn,info,debug,trace"

USAGE:

Below is a sample role to aadd to your node's .json config file.


name "pvpgn_game_server"
description ""
run_list "recipe[pvpgn]"
override_attributes "pvpgn" => { "realmname" => "My Awesome Realm!!", "d2cs_servaddrs" => "192.168.10.10",
								 "d2cs_gameservlist" => "192.168.10.10",
								 "bnetdaddr" => "192.168.10.10", "d2cs_loglevels" => "fatal,error,warn,info,debug,trace",
								 "reaml_list" => "\"My awesome Realm!\"\t\"My Closed Realm\"\t192.168.10.10",
								 "d2dbs_servaddrs" => "192.168.10.10", "d2dbs_gameservlist" => "192.168.10.10",
								 "d2dbs_loglevels" => "fatal,error,warn,info,debug,trace", "lod_realm" => "1" }

Add the role to the run list of your server's .json config file like so:


"run_list": [
		    "role[pvpgn_game_server]"
],

Upload the role to your Chef server or the Opscode platform like so:


knife role from file roles/pvpgn_game_server.rb

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


chef-client
You can’t perform that action at this time.