Jump to content

Recommended Posts

Posted

Morian wanted a Simply guide to make a basic server so after reading the Wiki of PvPGN .

 

 

What is 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 GNU General Public License (GPL) and based upon bnet.

PvPGN currently supports most features of all Battle.net 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 Studios Online clients (Command & Conquer: Tiberian Sun, Command & Conquer: Red Alert 2, Command & Conquer: Red Alert 2 Yuri's Revenge). Westwood Online support is still very experimental in the stable branch of PvPGN code.

 

Latest Releases

 

   * Stable branch is 1.8.5

   * Development branch is 1.99.r521

 

Intalling A PvPGN server on windows :

 

We will need :

   * PvPGN server , Files for MySql 5.1 are here : http://download.berlios.de/pvpgn/PvPGN-1.8.5-0-Win32-MySQL-5.1.31-BIN.zip

   * PvPGN support files http://download.berlios.de/pvpgn/pvpgn-support-1.2.zip

   * MySQL server (optional)  ( It has been posted in forum)

 

Extraxt & Install

 

First we'll extract the pvpgn server:

 

   * right click on PvPGN-1.8.5-0-Win32-*.zip --> Extract All...

   * extract the files to C:\Program Files\

Second we'll extract the pvpgn support files:

 

   * right click on pvpgn-support-1.2.zip --> Extract All...

   * extract the files to C:\Program Files\pvpgn-1.8.5\

   * browse into C:\Program Files\pvpgn-1.8.5\pvpgn-support-1.2\

   * select all files and copy them into C:\Program Files\pvpgn-1.8.5\files\

 

Configure The PvPGN:

 

First you must create an empty database in the mysql server, so that it can be used be PvPGN server.Create a db called PvPGN.

Second you must create a proper entry in your /conf/bnetd.conf, which will allow pvpgn server to use the mysql server and database: Open the /conf/bnetd.conf file in your  editor ( I use Notepad)..

 

After opening the file in the editor, search for the default settings for storage engine.

storage_path = file:mode=plain;dir=

After you find it, you must comment it so that the pvpgn server ignores it. You can do this by a placing a # character in front, like:

[code]# storage_path = file:mode=plain;dir=

 

Now you must setup your own storage engine configuration. To do it, you must write in the file immediately below the commented line above (optional):

 

storage_path = sql:mode=mysql;host=localhost;name=PvPGN;user=root;pass=mysql;default=0

 

What are these?

Name= your db name..

User= is your usename in mysql

Password =the pasword in myql

 

Ok , we setted up our PvPGN server. Now we have to configure it for Warcraft III.

Warcraft Configure :

 

Files that we are going to configure :

   * bnetd.conf

   * address_translation.conf

   * versioncheck.conf

   * autoupdate.conf

   * Router / Firewall

   * WarCraft III client

bnetd.conf

 

Go in conf folder and open bnetd.conf with your editor(notepad).

Now search for the line :

allowed_clients = all

and make it

allowed_clients = war3,w3xp

 

Now we did the PvPGN to allow Warcraft III.

address_translation.conf

 

With that files we configure the conection...

 

We search for the line

# 0.0.0.0:6200      [color=red]1.2.3.4:6200[/color]      [color=green]192.168.0.0/24 [/color]          ANY

 

We delete the # , and put where is red the extental ip www.whatsmyip.com , And in green the local ip subnet 120.***.***.* . , adn we change the ports , Exaple:

# w3route server ip translation
LAN IP of PvPGN Server:6200      Internet IP:6200      192.168.1.0/24           ANY

# Game Translations for clients/games
LAN IP or WarCraft III Client:16112   Internet IP:16112      192.168.1.0/24  ANY

 

 

versioncheck.conf

 

Open the /etc/versioncheck.conf file in your notepad.

 

Find that :

# Warcraft III - TFT (Expansion) 1.23a
# Note: this version check is sent in both FT and ROC mode
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \
IX86ver1.mpq \
IX86 \
W3XP \
"war3.exe 03/12/09 23:23:40 471040" \
0x00000017 \
1.23.0.208 \
0xfad9bc05 \
W3XP_123A

# Warcraft III - ROC 1.23a
# Note: this version check is sent in both FT and ROC mode
"A=3845581634 B=880823580 C=1363937103 4 A=A-S B=B-C C=C-A A=A-B" \
IX86ver1.mpq \
IX86 \
W3XP \
"war3.exe 03/12/09 23:23:40 471040" \
0x00000017 \
1.23.0.208 \
0xfad9bc05 \
W3XP_123A

 

That is the version check, this allows only specific versions to connect to server ...

 

Router/FireWall

Forward the ports 6112 and 6200 in your router and firewall.

 

 

 

Now , we go on client modding which is optional...

 

autoupdate.conf

 

Open the /etc/autoupdate.conf file in your notepad.

 

Search for this :

 

# =============== WarCraft III - FT (Expansion) ===============
#IX86    W3XP    W3XP_107A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_110A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_111A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_112A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_113A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_113B       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_114A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_114B       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_115A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_116A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_117A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_118A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_119A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_119B       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_120A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_120B       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_120C       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_120D       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_120E       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_121A       W3XP_IX86_1xx_123A.mpq
#IX86    W3XP    W3XP_121B       W3XP_IX86_1xx_123A.mpq

# Incremental update from version 1.22a
#IX86    W3XP    W3XP_122A       W3XP_IX86_122A_123A.mpq

# The next one is a WarCraft III - FT wildcard entry.
#IX86    W3XP    W3XP_1xx        W3XP_IX86_1xx_123A.mpq

 

Now delete this for every line the #.

 

# =============== WarCraft III - FT (Expansion) ===============
IX86    W3XP    W3XP_107A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_110A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_111A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_112A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_113A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_113B       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_114A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_114B       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_115A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_116A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_117A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_118A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_119A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_119B       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_120A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_120B       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_120C       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_120D       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_120E       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_121A       W3XP_IX86_1xx_123A.mpq
IX86    W3XP    W3XP_121B       W3XP_IX86_1xx_123A.mpq

# Incremental update from version 1.22a
IX86    W3XP    W3XP_122A       W3XP_IX86_122A_123A.mpq

# The next one is a WarCraft III - FT wildcard entry.
IX86    W3XP    W3XP_1xx        W3XP_IX86_1xx_123A.mpq

 

Do the same for Warcraft III RoC.

 

Now we will need to download some files...

 

Start -> Run -> Cmd (In vista we must run as adminstration)

 

and write

 

C:\> cd C:\Program Files\pvpgn-1.8.5\
C:\Program Files\pvpgn-1.8.5\> bnftp --client=W3XP --arch=IX86 --file=W3XP_IX86_1xx_123A_enUS.mpq uswest.battle.net 6112
C:\Program Files\pvpgn-1.8.5\> bnftp --client=W3XP --arch=IX86 --file=W3XP_IX86_122A_123A_enUS.mpq uswest.battle.net 6112
C:\Program Files\pvpgn-1.8.5\> bnftp --client=W3XP --arch=IX86 --file=WAR3_IX86_1xx_123A_enUS.mpq uswest.battle.net 6112
C:\Program Files\pvpgn-1.8.5\> bnftp --client=W3XP --arch=IX86 --file=WAR3_IX86_122A_123A_enUS.mpq uswest.battle.net 6112

 

 

When the update files have finished downloading, you must copy them into the C:\Program Files\pvpgn-1.8.5\files\ folder.

 

 

Configure your client :

 

To play WarCraft III on the same LAN as the pvpgn server, you will need to change the port that WarCraft III uses, since PvPGN is already the default port (6112). Change the Game Port to the unique port you specified in the address_translation.conf.

 

Launch WarCraft III --> click Options --> click Gameplay --> Change Game Port to 16112

 

And we download this file http://rapidshare.com/files/221503365/gatewayeditor.exe , and press warcraftIII and after add gateway , and we put where is name=MyServerNane , zone=0 , ip=your static ip or your no-ip And then they will be able to connect! After we should downlaod a loader ... The loader for versions 1.22-1.23 http://depositfiles.com/files/9by6sh7rz and for versions 1.18-1.21 ftp://203.123.69.202/games/pvpgn/Warcraft_III_Roc_%26_FT_PvPGN_Loader_v1.2_by_Acid!.rar

 

Last Step : Run Your PvPGN server

Browse into C:\Program Files\pvpgn-1.8.5\

Double click on PvPGN.exe

And it will be like :

Starting_pvpgn_windows.jpg

 

Credits : To me and PvPGN wiki.

Links : Wiki: http://pvpgn.wikia.com/wiki

          Downloads: http://pvpgn.berlios.de/index.php?page=files

          Forums: http://pelish.spfree.net/

 

 

Contributing to the project

What can I do to contribute to the project?

 

       * This depends on your talents. If you are good at coding, you might want to help implementing new features or fixing bugs. Also other help is always welcome, like translating to other languages, drawing graphics, writing this manual, or make sounds and musics.

 

What language is PvPGN written in?

 

       * The stable branch of PvPGN is programmed in C; whereas, the development branch is programmed in C++. Read the coding guidelines for reference how your code should be structured.

I've fixed a bug / added a feature. How can I submit it to the codebase?

 

       * Make a diff file (aka patch file) of your changes and submit it to Patches. Please watch the patch tracker carefully to see if the developers have any suggestions. If everything is OK with your patch, it will get merged into the SVN tree.

 

I want to become an official PvPGN developer! How?

 

       * The only way to get there is by constantly making patches, especially for fixing bugs. When the amount of time you spend with coding PvPGN reaches our level, chances are high that you'll receive a SVN account and get added to the list.

 

 

How can I obtain the source code?

 

       * Latest release version: http://pvpgn.berlios.de/index.php?page=files

       * Most up-to-date source code using SVN: svn://svn.berlios.de/pvpgn/trunk

What is the SVN version?

 

       * SVN aka Subversion is a version control system like CVS. Basically it tracks changes to the source code of the server. The SVN version is the latest (bleeding edge) source code for the server.

 

What operating systems does Subversion run on?

 

       * All modern flavours of Unix, Win32, BeOS, OS/2, MacOS X. Subversion is written in ANSI C and uses APR, the Apache Portable Runtime library, as a portability layer. The Subversion client will run anywhere APR runs, which is most places.

 

How do I get the SVN version then?

 

       * First you need to download the client software for you operating system which will connect to the SVN server and download the source code. You can get it from the SVN project homepage at http://subversion.tigris.org/. If you are using Windows you may want to get TortoiseSVN as it integrates with Explorer nicely and you won't have to run command line stuff.

 

         Next you need to set up the client to use the repository url which is "svn://svn.berlios.de/pvpgn/trunk". This will depend on which software you get, but you can find out how to do this with the documentation included with it.

 

         On Linux (Unix) you can use command "svn co svn://svn.berlios.de/pvpgn/trunk/".

 

Subversion has not been ported to my platform / I don't want to install more software - is there any other way I can get to the source code?

 

       * You can view the repository online at http://svn.berlios.de/svnroot/repos/pvpgn, you can also checkout copies so you will be able to get a complete set of source code.

Now I have got the source code how can I compile it?

 

       * Compiling PvPGN on Windows using BuildOTTD

       * Compiling PvPGN on Windows using Cygwin

       * Compiling PvPGN on Windows using Microsoft Visual C++

       * Compiling PvPGN on Windows using MinGW

       * Compiling PvPGN on Windows using Dev-C++

I had a problem compiling! What should I do?

 

       * This is not a compiling FAQ, try to ask your compiler vendor for help.

 

Why did the developers decide to use SVN instead of something more common such as CVS?

 

       * SVN is more advanced and easier to use. Also a lot of the developers don't like CVS any more now they know SVN.

 

What is the point of a version control system? Why don't they just upload the source code to an FTP directory?

 

       * Version control systems keep track of all the changes, when they were made and by who. If the developers later find out something they did was a mistake and broke something important they may have to rewrite it from scratch. With this they can just 'checkout' a revision from when it was working. It also allows the developers to add comments so they know what changes have been done.

 

How do I make a diff file to share my changes with other coders?

 

       * In Linux, use the command "svn diff > mypatch.diff" from the source directory to create a diff file.

       * In Windows, you can do the same from the command prompt, or, if you have Tortoise SVN, right button in the source directory and press Create Patch. It will ask for a location and filename.

Hot to Apply patch

It's usually best to apply patches to the latest SVN revision.

 

   * Linux: Type the following line into a console (replace patch_name with the filename of the patch):

 

   patch -p0 < patch_name. However, in some cases you might need patch -p1 < patch_name.

 

   * Windows: Make sure you have TortoiseSVN installed.

 

   Right-click on the folder with the PvPGN source code, open the TortoiseSVN submenu and select 'Apply Patch...'. Browse to the patch file and select it. Then, right click on the 'File Patches' window and click on 'Patch All'. After you're done, close the TortoiseMerge window.

 

[/code]

Posted

Well its a nice guide +1 karma from me. & Sticky.

gj theend you earned your karma ;)

 

w8ing for the update tho ;D

 

Thank you!!!! My First sticky post! Updated. Soon scripts will be added in new topic thx

Posted

:O TheEnd thank you a lot! what ever I want!

You deserve the Karma point!

Thank you again!

If anyone want me to help him to set up a server or to be in a developer team of battle.net server pm me ... Soon scripts will be added in another topic....

  • 1 month later...
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...