DOUBLE-SECRET-WARNING: This document is depreciated as of Mar 22, 2006. All
further updates will be at the following wiki:
http://aspen.online.disney.com/mediawiki/index.php/How_to_install_Panda_on_Windows

WARNING: This document is an internal VR Studio document describing
how to set up Panda on a new PC using our internal development
environment.  It is not useful for programmers who are not within the
VR Studio firewall.

If you are looking for documentation on installing Panda in the rest
of the world, see INSTALL.txt in this directory.

                ---------------------------------------
                HOW TO INSTALL PANDA3D ON WINXP/WIN2000
                ---------------------------------------

*********************************************************************
  NOTES
*********************************************************************

  - Lines preceeded by ">" are instructions to be typed on the command 
    line.
  - Ensure your computer's date is set correctly, or else the 
    compilation scripts may have problems later.
  - Make sure your machine has enough disk space - I'd start with the 
    largest open space on any of your partitions.
    You will have the fewest headaches if you choose C:\ for everything.
    
*********************************************************************
  Step 1: Map network drive to build tools drive
*********************************************************************

  - Right click on Network Places, choose Map Network Drive
  - Map Network Drive P: to \\mover\vol02\dimbo\usr2\panda (using your
    unix password)
    You also can do this from cmd.exe using 
      > net use p: \\mover\vol02\dimbo\usr2\panda /persistent:yes
  - Select 'Reconnect drive at startup'
  - If this doesn't work, you can install the build tools from CD
  - Run 'regedit P:\tabs.reg' to enable tab-filename-completion.
    You must exit and restart the cmd.exe shell to enable this, since 
    the registry is only read at cmd.exe startup.
    
*********************************************************************
  Step 2: Update OS software
*********************************************************************

  - On both WinXP and Win2000, I recommend you go to 
    http://windowsupdate.microsoft.com/, click on 'Product Updates' 
    (installing the Product Update ActiveX control), and install any
    patches labeled 'Critical Updates' as well as any updated sound,
    network, and motherboard drivers.  Video card manufacturers will
    usually have newer drivers than the WindowsUpdate site, however, so
    go to the manufacturer's website to check for win2000/winXP
    drivers, especially on win2000, since the original win2k CD drivers
    are most likely obsolete.

  - Install the latest DX9 runtime (unless you know you already have a
    more current DX9 runtime installed) by running:
    > P:\dx9\directx_feb2006_redist.exe
    This is a self-extracting archive; you must then run the install
    program that it produces.



*********************************************************************
  Step 3: Install Visual C++
*********************************************************************

  - MS Visual C++ requires MS Internet Information Server so this must
    be installed prior to installing MSVC.
  - Click on Start->Settings->Control Panel
  - Click on Add/Remove Programs
  - On the left side of the window, select Add/Remove Windows Components
  - Check the box next to Internet Information Services (IIS)
  - Click the Details button
  - Check FrontPage 2000 Server Extensions
  - Click OK
  - Click Next
  - Click Finish when done

  - Run P:\msvs7_1\VS\SETUP.EXE, or install from the MSDN 
    'Visual Studio.NET 2003' CD. Click on 'Windows Component Update' 
    (if it is highlighted, else click '2').  Click 'Continue' 
    (Selecting 'Do not use this machine to host web projects').  

  - After installing components, you are ready to install VC7.1 in .NET 
    setup Step 2. Enter this step and enter "VR Studio" for the username.
    On the 'Select items to install page', you need uncheck things to
    avoid wasting gigs of extra space and install time.  

  - Uncheck everything except for:
    - Language Tools->Visual C++
    - Server Components->Remote Debugger->Native Remote Debugger

    And if you want:
    - Documentation (this takes a gig, and is only a slight 
      update if you already have MSDN installed locally.  
      You will want to uninstall any separately-installed 
      MSDN docs if you get this.)
    
*********************************************************************
  Step 4: Install Cygwin (v1.5.10 or above should work)
*********************************************************************

  - Latest version currently is 1.5.18-1 (as of Dec 20, 2005)
  - Go to http://cygwin.com and click on "install cygwin now".  Choose
    "install from internet."
  - The most reliable download server is http://mirrors.rcn.net. 
    Another server is http://sigunix.cwrv.edu. 
  - Make sure that the following packages are selected for installation:
      - Under Archive : zip, unzip
      - Under Devel packages :  bison, CVS, make, flex
      - Under Interpreters : gawk, perl (see note below)
      - Under Network : openssh, openssl
      - Under Shells : ash, bash, tcsh
      - Under Text : more (or less)
  - You can also install other programs (like vi) if you want.  
    To rotate through the possible installation options, left-click on 
    the programs of your choice.
  - DO NOT INSTALL the following packages (change the Setting to 
    "SKIP"):
      - emacs/xemacs, we have our own emacs (see Step 10) 
      - The Interpreter->python package 
      - Remove X-windows packages to make download smaller.
  - There are many subpackages that are obviously not needed 
    (e.g. Mail, Doc, Text, Games) that you can skip if you like.
  - Create a desktop shortcut or Start Menu item for
    c:\cygwin\bin\tcsh.exe and use it in the future.
               
    Our ctattach utilities require the use of "tcsh", rather than the
    default "bash" shell.  To make things really easy, edit
    C:\Cygwin\cygwin.bat, change "bash --login -i" to "tcsh -i", this
    will cause tcsh to be the default shell when you start Cygwin
    command prompt/shell.

*********************************************************************
  Step 5: Create your HOME directory
*********************************************************************

  - Add C:\Cygwin\bin to the $path environment variable in the registry 
    to avoid errors (sed: Command not found) when executing the file 
    complete.tcsh (in C:\Cygwin\etc\profile.d) on startup
    - Note: You must be logged into an account with Administrator access
	- Select "Start Menu->Control Panel"
	- Select "System" icon.
	- Select "Advanced->Environment" button.
	- Scroll down to the Path environment variable in the System
	  variables section, select it and click the Edit button
	- Add "C:\cygwin\bin" to the end of the semicolon delimited list
	- Click OK - OK - OK to exit
    
  - Launch the Cygwin command prompt/shell (tcsh) using the icon set up
    in Step 4
    
  - Create a HOME directory:
      > mkdir /home/<login>
    Where <login> is the name you use to login to your Windows
    machine.  Note that some people have created their home
    directories under /usr/ instead of /home/; while this works, it is
    not a standard Unix convention.
   
    Note: In Windows this directory will be the equivalent of:    
      C:\cygwin\home\<login>

  - Set the $HOME environment variable in the Registry:
    - Note: You must be logged into an account with Administrator access
    - Select "Start Menu->Control Panel"
    - Select "System" icon.
    - Select "Advanced->Environment" button.
    - Create the variable "HOME" with the value:
         "c:\cygwin\home\<login>".
    - Click OK - OK - OK to exit (you must exit for the change to take 
      effect)
    - Now open a new shell so the registry is read by the shell to get 
      the changes.

---------------------------------------------------------------------
  NOTE: 
      We've seen a problem where we can't source ~/.cshrc if the 
      <login> in your HOME directory does not match the user name 
      %USERNAME% windows env var. To be safe, be sure your <login>
      matches your Windows login as part of your HOME directory name.
---------------------------------------------------------------------

*********************************************************************
  Step 6: Set up access to the CVS repositories:
*********************************************************************

In order to set up the Cygwin environment, you will need to download a local
copy of a couple of CVS repositories.  In order to do that, you will need
access to the VR fileserver, mover, and SourceForge.

  - For access to mover, contact Chris Brunner, James Healy, or Kirk Waingrow.

  - Now for SourceForge choose either A (commit) or B (anonymous) access do one
    of the following.  We recommend anonymous access unless you will be checking
    code into one of the SourceForge trees (dtool, panda, direct, pandatool).

    A. SOURCEFORGE DEVELOPER (WITH COMMIT) ACCESS

      1. Setup an account with SourceForge at 
        http://sourceforge.net/account/register.php
        Try to use the same username used your cygwin setup.  If you
        are unable to do so just make sure you edit your .cshrc file
        in Step 7a to reflect this for the SFROOT variable.

        Tell somebody like Dave Schuyler or David Rose to add your 
        new SourceForge username to the list of Panda3D developers.

      2. Setup ssh access cvs.sourceforge.net

        - If you have not generated a key before on this machine,
          generate a dsa key now by opening a Cygwin window and
          entering:

          > ssh-keygen -t dsa

          Just press enter if prompted for password.

          If the above does not put a file in ~/.ssh, check that your
          /etc/passwd file has an entry for your username and that it
          points to the correct home directory for you
          (e.g. /home/<username> ).

        - Register your generated ssh public key (id_dsa.pub) at 
          https://sourceforge.net/account/editsshkeys.php.

    B. ANONYMOUS CVS (READ-ONLY ACCESS) FROM SOURCEFORGE

      1. In Step 7a (below), Check that your .cshrc file has the
         SFROOT variable set to be something like this

          > setenv SFROOT :pserver:anonymous@cvs.sourceforge.net:/cvsroot/panda3d

      2. Before running any of the "cvs -d $SFROOT" commands, do the
         following:

          > cvs -d $SFROOT login

         Just press Enter when asked for a password.

*********************************************************************
  Step 7a: Set up the Cygwin environment:
*********************************************************************

  - Open a new shell

  - Create personal trees directory:
    > cd ~
    > mkdir player
    > cd ~/player

  - Grab a local copy of wintools

    > cd ~/player
    > cvs -d :pserver:<your-mover-username>@mover:/cvs login
    > cvs -d :pserver:<your-mover-username>@mover:/cvs co wintools
    
  - Copy the config files from your personal wintools:
    > cd ~/player/wintools/panda
    > cp .cshrc .emacs Config.pp Config.prc ~
    
  - Close and re-open your shell.  The .cshrc file you just copied in should
    load up some variables needed to check out more trees.
    
  - Check out a fresh dtool:
    > cd ~/player
    > wintools/built/bin/checkout_built.sh dtool

  - Close and re-open your shell.  You should now be set up to reference your
    personal dtool and personal wintools, that you just checked out above.

  - Make sure the contents of .cshrc are correct for your setup.  In 
    particular, make sure the definition for PANDA_ROOT matches the 
    directory you have installed Cygwin to (normally C:\Cygwin), 
    and that CVSROOT is correct for your CVS login (if $USERNAME 
    is not the same as your mover account name, edit the variable as
    necessary).  Also, check the SFROOT variable.  It should be
    either:
    
    COMMIT:
      
      :ext:<your-sf-username>@cvs.sourceforge.net:/cvsroot/panda3d
    
    or
    
    ANONYMOUS:
    
      :pserver:anonymous@cvs.sourceforge.net:/cvsroot/panda3d
      

*********************************************************************
  Step 7b: Set up the Cygwin environment (automated part):
*********************************************************************

  - All of the commands below have been collected in    
    $WINTOOLS\etc\setup2.csh.  To do all the Cygwin 
    steps below automatically, from the tcsh prompt do:
    > cd $WINTOOLS/etc
    > source setup2.csh

---------------------------------------------------------------------
  CAUTION: setup2.csh: 
  Some of the drives may need to be mapped manually from windows. If you
  have a cdrom or some other drive mapped to the following drives, 
  you need to unmount those and map to some other drives.  See the 
  "Connect the network drives" segment below
---------------------------------------------------------------------

  These are the steps setup2.csh performs (so you don't have to):
  - Make the following directories (don't worry if they already exist)
      > mkdir /bin /etc/ /tmp /usr
      > mkdir /c /f /g /h /i /j /p
      > mkdir /usr/local /usr/local/bin /usr/local/etc
      
  - Rename any cygwin-installed python.exe (if it exists) to avoid 
    conflicts with required VRSTUDIO-compiled python, which is 
    custom-built to load "sitecustomize.py" which sets up the 
    PYTHONPATH env-var for our panda environment:
      > mv /bin/python.exe /bin/python-cygwin.exe

    This is only necessary if you installed python while installing
    Cygwin

  - Create some links expected by the attach scripts, which look in 
    standard modern unix BSD-style places:
      > ln -s /bin/tcsh /bin/csh
      > ln -s /bin/perl /usr/local/bin/perl
      > ln -s /bin/bash /usr/local/bin/bash

  - Connect the network drives:
    Note that any of your drive letters are already in use (by a 
    CD drive, or by some I.S. login-script-created drive), you simply 
    do a 'net use' to a different drive letter, then change the 'mount' 
    command to point the official '/[drivelet]' dir at the real drive 
    letter it's mounted to.

    It is not necessary for cygwin's /p to point to the P: drive in 
    Windows.

      > net use f: "\\mover\vol01\fat\usr2" /persistent:yes
      > net use g: "\\mover\vol01\fat\bit" /persistent:yes
      > net use h: "\\mover\vol02\dimbo\usr2" /persistent:yes
      > net use i: "\\mover\vol01\fat\big" /persistent:yes
      > net use p: "\\mover\vol02\dimbo\usr2\panda" /persistent:yes

    The "net use" commands may require you to enter a password if 
    access is denied, in which case you can add the /USER:[username] 
    argument to net use and it will ask for a password.  
      See "net use /help" for more info.  
    
    The "Map Networked Drive" GUI option can be used instead of 
    "net use".

  - Create cygwin mount directories.  The purpose of this is to shorten 
    and simplify paths.  Note the use of -b for the mounts to mapped 
    network drivers on remote machines. The /ms* mounts assume things 
    were installed in C:\Program Files:
      > mount -s c:/ /c
      > mount -s -b f:/ /f
      > mount -s -b g:/ /g
      > mount -s -b h:/ /h
      > mount -s -b i:/ /i
      > mount -s -b j:/ /j
      > mount -s -b p:/ /p

    If VC7.1 is installed:
      > mkdir /msvc71
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio .NET\ 2003 /msvc71

    If VC7 is installed:
      > mkdir /msvc7
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio .NET /msvc7

    If VC6 is installed:
      > mkdir /msvc98 /mscommon /mspsdk
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio/VC98 /msvc98
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio/Common /mscommon
      > mount -s C:/Program\ Files/Microsoft\ Platform\ Sdk /mspsdk
         
    If Intel C++ is installed:
      > mkdir /intel /ia32
      > mount -s C:/Program\ Files/Intel /intel
      > mount -s C:/Program\ Files/Intel/Compiler60/IA32 /ia32

*********************************************************************
  Step 8:  Testing VC7.1 environment in shell
*********************************************************************

  - After finishing this process, make sure you are using VC7.1 in your
    shell by typing 'cl' at the prompt.  If you have VC7.1 you will see: 
    
    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
    Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.
    
    If you have VC7, you will see:
    
    Microsoft (R)32-bit C/C++ Optimizing Compiler Version 13.00.9466 for 80x86 
    Copyright (C) Microsoft Corporation 1984-2001.

  - If this does not work, check your tcsh path to make sure it has 
    the .NET dirs in it, and make sure the cygwin softlink mount 
    point /msvc71 exists, and is not empty but points to the proper VC7 
    directory. Doing 'ls /msvc71' should give you something like

	Common7/                                                 Visual Studio SDKs/
	EnterpriseFrameworks/                                    contents.htm
	SDK/                                                     readme.htm
	Setup/                                                   sqlserver/
	Vc7/                                                     toc.htm
	Visual Studio .NET Enterprise Developer 2003 - English/


  - If it does not, try running 
      > source $WINTOOLS/etc/setup2.csh
    again to get it to do the cmd (ignore file-exists errors)
      > mount -s C:/Program\ Files/Microsoft\ Visual\ Studio\ .NET\ 2003 /msvc7
    This should create the softlink mount, or you can just run the 
    cmd manually yourself.
------------------------------------------------------------------------------    
  NOTE:
  	If you installed Microsoft's .NET Framework (from Windows Update, for
  	example) before installing Microsoft Visual Studio .NET 2003, you may
  	experience a problem when compiling C code.  The short 8.3 file name
  	for the VC7.1 directory used by some configuration scripts is MICROS~1.NET.
  	If Microsoft's .NET Framework is installed first it will take MICROS~1.NET
  	as its 8.3 name and VC7.1 will be MICROS~2.NET.  To correct this, move
  	both directories out of the Program Files directory, then move VC back
  	first, followed by .NET Framework.  This should rename VC's 8.3 filename
  	to MICROS~1.NET.
------------------------------------------------------------------------------

*********************************************************************
  Step 9: Copy files needed by attach scripts
*********************************************************************

  - Run script to copy vspec files from $WINTOOLS to /usr/local/etc
    > cd $WINTOOLS
    > ./cp_vspec 

  To setup a new user in panda environment files:
  - If you are setting up a new user, edit the *.vspec files in 
    /usr/local/etc to add the new username and path to the player tree 
    (starting with dtool.vspec, panda.vspec, direct.vspec, otp.vspec, 
    toontown.vspec, and ttpublish.vspec).
  - (Optional) Update default values in vspec files. Edit appropriate 
    *.vspec files to specify which trees you wish to use as a default 
    (e.g. install, personal, or release)

*********************************************************************
  Step 10: Install Bison
*********************************************************************

    *** This step is no longer needed.  Bison is installed correctly
        by Cygwin. ***

*********************************************************************
  Step 11: Install Emacs   
*********************************************************************

  - We use GNU emacs (21.3 currently) by default, other versions of 
    emacs may also work.  Note: unlike xemacs.exe compiled for cygwin, 
    this emacs does not use Cygwin paths, so "/" represents the real 
    root (C:\, not "C:\Cygwin")).  
  - Copy the gzipped tarball to your local machine
    > cp /p/emacs-21.3-fullbin-i386.tar.gz /c
  - Ungzip, untar and install (This will install emacs into C:/emacs-21.3, do 
    not attempt to install it under a directory containing a space,
    like "Program Files".)
    > cd /c
    > gzip -d emacs-21.3-fullbin-i386.tar.gz
    > tar xvf emacs-21.3-fullbin-i386.tar
  - Update environment variables (win2000/XP).  Note: You should only 
    need to do this if you intend to invoke Emacs from a non-Cygwin 
    prompt.  If you will always be using Cygwin, simply edit your 
    .cshrc file to add the following to your path there:
       /c/emacs-21.3/bin
    - Select "Start Menu->Control Panel"
    - Select "System" icon.
    - Select "Advanced->Environment" button.
    - double click on the "Path" variable in the bottom pane 
      (system variables)
    - add "C:\emacs-21.3\bin" to the end of the path (semicolon 
      separated)
    - click ok - ok - ok to exit (you must exit for the change to take
      effect)

*********************************************************************
  Step 12: Check out other trees
*********************************************************************

There are three methods of checking out CVS repositories: pre-built,
source, and both.  Python and Python-hybrid trees like dtool, otp,
toontown, and pirates always come with source, regardless.  Built
trees are recommended in most cases, unless you will be doing development
in those trees.  If you are using anonymous SourceForge access, first
do the following:

    > cvs -d $SFROOT login
    
Press Enter when prompted for a password.

  - Most programmers will want to check out the built versions of each
    tree.  This saves you from having to constantly compile new code.
    To check out the built versions do the following sequence of
    commands.  The otp, toontown, and pirates trees will automatically
    come with source code.  If you want source for panda, direct,
    pandatool, or any of the models trees, use the -s parameter,
    e.g. checkout_built.sh -s panda.
    
    > cd ~/player
    > $WINTOOLS/built/bin/checkout_built.sh panda
    > $WINTOOLS/built/bin/checkout_built.sh direct
    > $WINTOOLS/built/bin/checkout_built.sh otp
    > $WINTOOLS/built/bin/checkout_built.sh toontown
    > $WINTOOLS/built/bin/checkout_built.sh pirates
    > $WINTOOLS/built/bin/checkout_built.sh pandatool
    > $WINTOOLS/built/bin/checkout_built.sh ttmodels
    > $WINTOOLS/built/bin/checkout_built.sh pmockup
    > $WINTOOLS/built/bin/checkout_built.sh pmodels

    You can combine any or all of the above on one command, e.g.:

    > cd ~/player
    > $WINTOOLS/built/bin/checkout_built.sh panda direct otp toontown pirates pandatool ttmodels pmockup pmodels

  - To check out just the source
    > cd ~/player
    > cvs -d $SFROOT co panda
    > cvs -d $SFROOT co direct
    > cvs co otp
    > cvs co toontown
    > cvs co pirates
    > cvs co pandatool
    > cvs co ttmodels
    > cvs co pmockup
    > cvs co pmodels
    > cvs co otp_servers_built


*********************************************************************
  Step 13: Building notes
*********************************************************************

  - You need to initialize each tree after you have checked it out.
    This requires running the cta command to attach to the tree, and
    then cd-ing into the directory and running ppremake.
    
  - If you checked out just the source of any of these trees, you will
    also need to make install within that tree (and this will take
    from a few minutes to a few days, depending on the tree).  If you
    used the checkout_built.sh script, then you won't need to do this.

*********************************************************************
  Step 14: Initialize $PANDA 
*********************************************************************

  - Build panda
    > cta panda personal
    > cd $PANDA
    > ppremake

  - If you didn't use checkout_built.sh to get PANDA:
    > make install

      After every make (the first time a tree is built from scratch),
      kill and reopen the tcsh window.  If you later rebuild the tree
      in-place, you will not need to kill and reopen the window, unless
      you first completely blew away your source tree.

  - You can now run "pview" to test the install and build - you should
    see a window pop up with a triangle in it.  To see the triangle with
    a texture on it, you'll need to be in $PANDA/src/testbed/ when
    you run "pview".

*********************************************************************
  Step 15: Initialize $DIRECT
*********************************************************************

  > cta panda personal
  > cta direct personal
  > cd $DIRECT
  > ppremake

  - If you didn't use checkout_built.sh to get DIRECT:
    > make install
    kill and reopen the tcsh window (the first time you build direct).

*********************************************************************
  Step 16: Initialize $OTP
*********************************************************************

  > cta panda personal
  > cta direct personal
  > cta otp personal
  > cd $OTP
  > ppremake

  - If you didn't use checkout_built.sh to get OTP:
    > make install
    kill and reopen the tcsh window (the first time you build otp).

*********************************************************************
  Step 17: Initialize $TOONTOWN and/or $PIRATES
*********************************************************************

  > cta panda personal
  > cta direct personal
  > cta otp personal
  > cta toontown (or pirates) personal
  > cd $TOONTOWN (or $PIRATES)
  > ppremake

  - If you didn't use checkout_built.sh to get TOONTOWN or PIRATES:
    > make install
    kill and reopen the tcsh window (the first time you build toontown
    and/or pirates).
  
*********************************************************************
  Step 18: Initialize $PANDATOOL (needed for building models, running pstats, etc.)
*********************************************************************

  > cta dtool personal  
  > cta panda personal
  > cta direct personal
  > cta pandatool personal
  > cd $PANDATOOL
  > ppremake

  - If you didn't use checkout_built.sh to get PANDATOOL:
    > make install
    kill and reopen the tcsh window (the first time you build
    pandatool).
  
*********************************************************************
  Step 19: (Optional) Build $TTMODELS, $PMOCKUP, or $PMODELS
*********************************************************************

NOTE: You need to make sure you have a licensing solution for the various
modeling apps involved in building Toontown models (e.g. C:\FlexLM).

Be warned!  Completely building one of these model trees from scratch
can take one to three days.  We strongly recommend checking out the
prebuilt version using the checkout_built.sh script, described above.
However, if you will be responsible for adding new models to any of
the model trees, you'll need to have your own source tree to test your
additions.

  > cta dtool personal  
  > cta panda personal
  > cta direct personal
  > cta otp personal
  > cta pandatool personal
  
  > cta toontown personal
  > cta ttmodels personal
  > cd $TTMODELS
  > ppremake
  > make install
  	or
  > cta pirates personal
  > cta pmockup personal
  > cd $PMOCKUP
  > ppremake
  > make install
	or
  > cta pirates personal
  > cta pmodels personal
  > cd $PMODELS
  > make-install.sh
  

*********************************************************************
  Step 20: Generate Python Code
*********************************************************************

  This program must be run at least once, after you build the C++
  trees for the first time, or whenever you change your set of
  attachments (for instance, changing from Toontown to Pirates).  It
  makes the currently-attached C++ code available to Python.

  > genPyCode

*********************************************************************
  Step 21: (Optional) Set up a local server
*********************************************************************

  - Copy local.par.example to local.par:
    > cd ~/player/otp_servers_built/windows_intel_32/bin
    > cp local.par.example local.par
  - Edit local.par and modify the file locations listed to the correct paths
    (This may just involve changing "username" to your unix username)
  - Edit local.par and uncomment one of the following lines corresponding
    to the project being used:
	  
	ADDKEY=TOONTOWN_DEV
	#ADDKEY=PIRATES_DEV
	#ADDKEY=ALL_DEV
  
  - To run the server, simply execute otp_server.exe. It would be best to
    run this in its own window.

*********************************************************************
  Step 22: (Optional/Example) Launch a local Toontown Server and Client
*********************************************************************

  - Add the following lines to your Config.prc file in $HOME if they are
    not already there.
    
      account-old-auth 1
      verify-ssl 0
      dc-multiple-inheritance 1
      want-otp-server 1
      
  - To start the Toontown Uberdog server, first start up Python Emacs
    > runPythonEmacs
  - In Emacs launch a Python shell
    > Alt-x   (This will bring up an Emacs minibuffer line)
    > py-shell
  - From the Python command line type the following:
    > from toontown.uberdog.Start import *
  - This will start a Toontown uberdog server
  - To start the Toontown AI server, start up another Python Emacs session
    > runPythonEmacs
  - In Emacs launch a Python shell
    > Alt-x
    > py-shell
  - From the Python command line type the following:
    > from toontown.ai.AIStart import *
  - This will start a Toontown game (AI) server
  - To start a client, you will need to open yet another Python Emacs session.
    From the cygwin command prompt, type:
    > runPythonEmacs
  - In Emacs launch another Python shell as before
    > Alt-x
    > py-shell
  - In this Python command prompt, enter:
    > from toontown.toonbase.ToontownStart import *
  - After the servers and the client have started up, the game should
    prompt to create an account.  After the account is created the
    game will run as normal, but locally.
    
    
      ***************  When you get here, rejoice! ***************
