Player versus Player Gaming Network ===== ![](http://i.imgur.com/LfI3hXo.png) Next generation of PvPGN — Battle.net v1.0 game server emulator. *The project is still in development. Stay tuned and report any bugs!* [Deleaker](http://www.deleaker.com/) helps us to find leaks [![Build Status](https://travis-ci.org/pvpgn/pvpgn-server.svg?branch=master)](https://travis-ci.org/pvpgn/pvpgn-server) [![Build status](https://ci.appveyor.com/api/projects/status/dqoj9lkvhfwthmn6)](https://ci.appveyor.com/project/HarpyWar/pvpgn) Source Code changes (since v1.99) -- * Lua scripting support (WITH_LUA cmake directive) * Add display custom icons depends on a user rating, custom output for command `/stats`; works with Warcraft and Starcraft (see [icons.conf](https://github.com/pvpgn/pvpgn-server/blob/master/conf/icons.conf.in)) commits [1](https://github.com/pvpgn/pvpgn-server/commit/c11af352603e18acc52102ba8574776425248331), [2](https://github.com/pvpgn/pvpgn-server/commit/368c4b9296d18a515af746b65fe69054ab6f4236), [3](https://github.com/pvpgn/pvpgn-server/commit/f1a96c392055a777b48dc4d77631c5e906161e28) * fix command send flooding [commit](https://github.com/pvpgn/pvpgn-server/commit/74f9e4faafe24699597e4be5bfda83bf255ba72e) * fix compile error when pointer size is larger than int [commit](https://github.com/pvpgn/pvpgn-server/commit/1ea116434ce009bad4903ff72bd69bbb8987ce06) * fix Warcraft 3 ICON SWITCH hack [commit](https://github.com/pvpgn/pvpgn-server/commit/84811bcfe875d6c42cd8271bbdae757f0b5d445b) * fix saving sql fields with custom characters in the name [commit](https://github.com/pvpgn/pvpgn-server/commit/18713ffe35cbe9a12193e5c1f1caf5031d4c4731) * fix status.xml output errors and add a new game_id field * welcome text for Warcraft 3 is moved from the code into a new file `bnmotd_w3.txt` ([example](http://img21.imageshack.us/img21/1808/j2py.png) with colored text is included) [commit](https://github.com/pvpgn/pvpgn-server/commit/ff8ca941cd7942bab201607fbc31382837a35617) * Feature to use d2s character as a template for a new character in newbie.save; each character class can have it's own template [issue](https://github.com/pvpgn/pvpgn-server/issues/20) * Full localization [issue](https://github.com/pvpgn/pvpgn-server/issues/13) * Ignore flood protection for reserved users and bots [issue](https://github.com/pvpgn/pvpgn-server/issues/49) * Several bug fixes which allow hackers to crash a server and a game client * Logging for user commands [issue](https://github.com/pvpgn/pvpgn-server/issues/47) * SID_READMEMORY implementation [issue](https://github.com/pvpgn/pvpgn-server/pull/26) * SID_EXTRAWORK implementation [issue](https://github.com/pvpgn/pvpgn-server/issues/72) * Improve SQL storage performance [issue](https://github.com/pvpgn/pvpgn-server/issues/85) New commands -- * `/save` immediately save changes of accounts and clans from the cache to a storage (useful for testing) [commit](https://github.com/pvpgn/pvpgn-server/commit/be8d65d16f910b2090b0db9e7eb2c043b816dae7) * `/icon ` icon stash implementation - each user has it's own stash with icons, admin/operator can add icon to user's stash, you can set aliases for icons in config; works with Warcraft and Starcraft commits [1](https://github.com/pvpgn/pvpgn-server/commit/1ade081c6b10a3e710130b88613b71b880ba0cd7), [2](https://github.com/pvpgn/pvpgn-server/commit/36deb1179bca931bd6585c2b6dbf7d8ade08bc8e) * `/find ` search account by part of the name - [patch #1526](http://developer.berlios.de/patch/?func=detailpatch&patch_id=1526&group_id=2291) from berlios [commit](https://github.com/pvpgn/pvpgn-server/commit/c229c6693b3dd55f02fe3a81403870044c0786b2) * `/quiz` Trivia Quiz Game (implemented in Lua) [commit](https://github.com/pvpgn/pvpgn-server/commit/ee04fdd23dfef90f0b852a6e90df23c7f5edc08e) * `/language ` change user language * `/log` show/search in user log Modified commands -- * `/set` exclusion to get/set a password hash and user id; feature to empty key with "null" value; more info in output of the command and examples commits [1](https://github.com/pvpgn/pvpgn-server/commit/d96e1029478d92f67000761983e83ccfde2abbdf), [2](https://github.com/pvpgn/pvpgn-server/commit/1ade081c6b10a3e710130b88613b71b880ba0cd7#diff-ef576b6b7e90128c3718523eaaf1b894R4716) * `/finger` more info in the command output - [patch #2859](http://developer.berlios.de/patch/?func=detailpatch&patch_id=2859&group_id=2291) from berlios [commit](https://github.com/pvpgn/pvpgn-server/commit/bdb450084704da1f33e28c9edd3d2d16b720a946) * `/games lobby` show games in lobby only - [patch #3235](http://developer.berlios.de/patch/?func=detailpatch&patch_id=3235&group_id=2291) from berlios [commit](https://github.com/pvpgn/pvpgn-server/commit/5d27cece2c24b5fe779f1560162a31442bf02617) * `/friends online` show online friends only - [patch #3236](http://developer.berlios.de/patch/?func=detailpatch&patch_id=3236&group_id=2291) from berlios [commit](https://github.com/pvpgn/pvpgn-server/commit/8762667276b535d3385d51941d41d780089a7049) * `/topic` feature to set text on a new line [issue](https://github.com/pvpgn/pvpgn-server/issues/6) * `/alert ` like /announce but message box shows instead of a text [issue](https://github.com/pvpgn/pvpgn-server/issues/15) * `/rehash ` feature to rehash configs separately [commit](https://github.com/pvpgn/pvpgn-server/commit/ee04fdd23dfef90f0b852a6e90df23c7f5edc08e) Minor changes -- * add original MOTD files with UTF-8 encoding * add support files v1.2, there are no need to download it separately after install * add ODBC support for CMake * add latest versioncheck.conf * skip_versioncheck, allow_bad_version are enabled by default in bnetd.conf - for easy start * source code is formatted for better reading * unused files are removed, only pvpgn source here * unknown udp packets are logged with enabled debug mode only (it always chokes a log file before) [commit](https://github.com/pvpgn/pvpgn-server/commit/c39f9f03159b2edc8d2457d8134d84486378f9b1) * add a file location for all the text files like MOTD (often a server admin doesn't know where a file is located) * add option ignore-version for programs **bnchat** and **bnstat** - [patch #3184](http://developer.berlios.de/patch/?func=detailpatch&patch_id=3184&group_id=2291) from berlios [commit](https://github.com/pvpgn/pvpgn-server/commit/a1fb914c30d9d69d062e8f698f7d0e9bacf41367) * help for all commands is displayed from bnhelp.conf and format changed for better reading, updated more help messages [issue](https://github.com/pvpgn/pvpgn-server/issues/5) * fix error in log when user sends a message with text length of 255 symbols [commit](https://github.com/pvpgn/pvpgn-server/commit/af2baccdb8a2b624627caa94eac5595ac8f76e07) * update default tracker servers in config, track is enabled by default issues [1](https://github.com/pvpgn/pvpgn-server/issues/7), [2](https://github.com/pvpgn/pvpgn-server/issues/18) * fix Windows version identification [issue](https://github.com/pvpgn/pvpgn-server/issues/60#issuecomment-49385463) * reorganize unix install paths, add `make uninstall` feature [issue](https://github.com/pvpgn/pvpgn-server/pull/80) Build source code -- #### Windows Use [Magic Builder](https://github.com/pvpgn/pvpgn-server-magic-builder). #### Linux [Русский](http://harpywar.com/?a=articles&b=2&c=1&d=74) | [English](http://harpywar.com/?a=articles&b=2&c=1&d=74&lang=en) [![Vimeo](http://habrastorage.org/storage3/48c/5a9/4b1/48c5a94b1173242e311f8376be80a585.png)](https://vimeo.com/83763862)