|
If you see anything that looks wrong, or if you would like to see more
detail placed on something you see here, send me an email and I'll get to
it when I feel like it (hey, you want me to lie and say I'll get right on
it?) |
| Contents |
|
Introduction What Demons Does Minimum Hardware Internet Connection Initial Setup of NR4/NR2K2 Initial Setup of DeMONS What's a Host? Configuring a Host Daily Availability Timing Is Everything Timing Really Is Everything Building a Schedule Putting it Out There Not Putting it Out There Keeping Everybody Honest The Launcher Performance Considerations Scheduling Flexibility Frequently Asked Questions |
| Introduction |
|
This page is generally for folks who are new to hosting races with Nascar Racing 4 (and 2002 Season), and doing so with DeMONS/2. Before you read this page, I insist that you go through the text files (yes, there's more than 2) that are supplied on the retail CD. There's A LOT of good info in there about running a Nascar racing race server. The intent of this part of the DeMONS website is to help you come to grips
with the various timing styles and combinations thereof, and to help you
understand how best to setup your copy of DeMONS. Keep in mind that DeMONS
was created to help you to run DEDICATED servers, not open loops or that kind
of stuff. It will NOT be changed to accomodate open loopers or "setup"
servers.
|
| What Does DeMONS Do? |
|
DeMONS allows you to run an UNLIMITED number of simulatenous race servers for
BOTH Nascar Racing 4 AND Nascar Racing 2002 Season. Of course the viability of
running many servers is based on your hardware and internet connection, but I'll
cover that later.
Schedules can then be created with various timing considerations and with FULL
control over all aspects of the race(s) that you would find in the sim itself.
The scheduling possibilities are almost infinite in number.
|
| Minimum Hardware |
|
There's quite a bit of discussion surrouning the sim's true minimum/recommended hardware requirements. The way I see it is that what's shown on the box as "minimum" is like saying "this is the least powerfiul system we could get the game to even start-up on". This minimum requirements are there because a marketing nazi thinks that if they can just get the game into a user's hands, so what if the gameplay sucks. The chances are pretty good that they'll keep the game until the have a system powerful enough on which to run it properly. To some extent, they're right. Many folks who buy a game are simply too lazy to return it, and will shelve it until they upgrade their system. Next, we have the "recommended" requirements. This is actually the true minimum requirements (as specified by the guys who wrote the game. Think about it, though. A lot fewer people will buy the game because chances are, their system isn't quite up to speed - lost sale, lost customer. Of course, I have my own laws. Technically, if your system meets the minimum requirements, that should be fine to simply run a DEDICATED server. However, we all know that the faster your system is, the less it will be stressed by the game to keep up with demands. My recommended system requirements are "buy the most/fastest you can afford ABOVE the minimum required system shown on the box. If you're going to save replays, get a huge hard disk (80gb would do). Also start out with a minimum of 320MB of RAM (512 would be better). You must also have a sound card and a DX8-compatible video card, EVEN IF YOU'RE JUST RUNNING A DEDICATED SERVER. The game sometimes doesn't install correctly if you don't have these two pieces of hardware. Lastly, keep this idea in mind - a typical machine can realistically handle no
more than TWO servers at a given time. Of course, the more powerful your system,
the better your chances will be of running more, but it's not recommended.
|
| Internet Connection |
|
Here's the simple truth - if you don't have a broadband connection to the net, don't bother trying to run a server AT ALL. A typical cable connection can only support about 10 cars (and that INCLUDES computer-controlled cars). The key to your connection viability is the UPSTREAM bandwidth. Each car takes
approximately 21k of upstream bandwidth. This works out to requiring a FULL T-1
connection to support a 43-car field (uses a little over 900k). Don't kid
yourself, and don't do a disservice to your drivers by overloading your server.
|
| Initial Setup of NR4/NR2K2 |
|
Before you run DeMONS the first time, there's a few things you need to do. The very first thing is to install the sim from the retail CD. This is a more critical step than you may realize. If you don't install from the retail CD, NONE of the DeMONS components will run. Next, you need to create a user ID on Sierra for your server. I recommend that
you create a unique user ID for EVERY server you wish to run. The sim creates a
player folder for every ID, and DeMONS modifies the PLAYER.INI file in that folder,
and maintains the host scheduling info there as well.
|
| Initial Setup of DeMONS |
|
DeMONS requires no fancy setup routine. Just create a folder somewhere on your
server system, and unzip/copy the DeMONS files there. You may want to place
shortcuts on your desktop for D2CONFIG.EXE and D2LAUNCHER.EXE. This will make
it easier to run these programs later on, and from this point forward, these
instructions assume that you indeed added the shortcuts to the desktop.
IMPORTANT NOTE FOR WINDOWS 95/98/ME USERS -
Due to quirks in Windows, you need to perform an extra step before running DeMONS
the first time. A utility called D2SCRUB is provided which allows you to modify
some of the sim's INI files (the track files specifically) that are written in a
non-standard way that prevents DeMONS from reading them without going through a
lot of stupid little dances.
For performance reasons, I wrote D32SCRUB. If you want details about what it does, refer to the RTF document that is provided with the program. I can guarantee that it does not cause any problems with running the sim. This step is NOT required by Windows NT, Windows 2002, or Windows XP users. Now you're ready to start using DeMONS. Click on the desktop icon for D2Config, and you will be presented with a dialog box that looks something like this:
When D2Config starts, it automatically locates the installed sim(s). If no sims are found, the program will terminate with an appropriate message. The only way it won't be able to find a sim is because you didn't install it from the retail CD. This point is NOT negotiable because there's absolutely NO reason you cannot manage to install the sim correctly. (All of the DeMONS components do this.) If both sims are installed, the radio buttons in the upper-right corner of the dialog box will become enabled. These radio buttons allow you to specify which sim will be the default sim for each newly-created host. Once a host is created, you can change the sim that the host uses by configuring the host. On the upper-left of the dialog, the important fields are the sim paths. One or both of these paths will be filled and enabled. You DO NOT have to modify these fields under normal conditions, so that's as far as I'll discuss them. The real meat of this dialog is in the pane labelled Current Hosts. It contains a listbox which will list the hosts that you've created, and some buttons that allow you to manipulate these hosts.
|
| What's a Host? |
|
A host is the same thing as a "server". I decided to use the term "host" because it
controls a Nascar Racing "server". So, a "host" is what you configure in DeMONS,
and the "server" is controlled by that host.
|
| Configuring a Host |
|
By clicking the Add button or Configure button on the previously discussed dialog box, you can configure a DeMONS host. A dialog box will be displayed that contains several tabs, and will look something like this:
|
| Daily Availability |
|
This tab allows you to tell dictate on which days this host is allowed to run. If
you want to run the host every day of the week, you can pretty much ignore this
tab.
If you want to specify certain days, uncheck "Everyday", and select the day(s) on which you want to run the host. You MUST specify a password for every day that you select. This password isn't used right now, but it will be in the future. Another important setting on this dialog is "Favored host". Making the host a favored host will cause the launcher to pause all other running hosts (and will terminate ther associated server sessions if they're running) so that the "favored host" is the only one running. You can use this setting to force a continuously running practice race host to
shut down so that the regularly scheduled league race gets all available bandwidth
and CPU cycles.
|
| Timing Is Everything |
|
In addition to being able to specify which day(s) a host will run, you can specify
a timing style. Each host can only support ONE timing style at a time. there are
ways to work around this restriction, but we'll wait until the end of this section
to tak about it.
There are three basic timing styles.
Another item of note for this timing style is that a host using this timing style ignores the daily availability settings, and instead considers itself to run every day. (The favored host setting is NOT ignored, however.) There are other settings that permit you to enhance the capabilities of the host
to deal with time and schedules.
Make sure you check out the Scheduling Flexibility section near the end of this
page. I've outlined how to configure one or more DeMONS hosts to perform a wide
range of host scheduling.
|
| Timing Really Is Everything |
|
Now, remembering that you can have multiple hosts, and that each host can use ANY user ID available to it, and that ANY host can run on ANY day with ANY timing style, you can probably see a potential problem - more than one host using the same sierra ID running at the same time. You're probably saying to yourself that it would make sense for DeMONS to resolve any conflicts that might exist, and you know what, you're right - it would make sense. However, you have to factor in the "John's a lazy bastard" factor - I figure you should be on top of your game enough to be able todetermine on your own when schedules overlap when multiple hosts use the same Sierra user ID. Wanting to at least meet my users half way by helping them more easily determine any potential problems. Once you have your hosts (and their schedules) configured, you can view a graphical representation of all configured hosts that shows the relative start/stop times, what types of timing they use, etc. On the Main D2Config dialog box, there's a button labelled "Weekly Host Schedules". Clicking this button will show a window something like this:
Each day of the week is shown, and each day is broken down into six 4-hour segments (to provide a visual approximation of the hour). Each host is reflected in the chart and each one shows its host name, the Sierra user ID associated with the host, and the timing style. The primary thing you must be careful to avoid is having two hosts running at the same time that use a single Sierra user ID. I honestly don't know what would happen, but I can't imagine the results being desireable, so my advice is to avoid this situation entirely. This graphical chart will aid you in this endeavor. You might not have noticed, but timing styles are indicated by a specific colored
line: continuous loop is blue, daily is green, and specific date/time is red.
|
| Building a Schedule |
|
The whole purpose of DeMONS is to allow you to run a series of races in a pre-determined order using a variety of timing settings and even restrictions. Keep in mind that there is a default race settings page from which all new races borrow settings. This makes it much faster to configure a race because from a league administrator's standpoint, most of the race settings never change from race to race. In fact, most of the time only the venue changes. Beginning with version 0.0.2.3, you can move scheduled events up and down in the list. Keep in mind that races are executed in the order that they exist in the list at the time that you run the launcher. Another caveat concerns a host that is configured to use the specific date/time timing style. Since races are run in the order they show up in the list, you must take extra care NOT to arrange your races so that the times are all mixed up. Remember, DeMONS will IGNORE races whose start date/time was scheduled for a point in time that has already passed. To make schedule building a little easier, you can also build a "Quick Schedule".
This button is found on the Schedule Config dialog box, and will present a
subsequent dialog which allows you to select between the two following options:
|
| Putting it Out There |
|
You can choose to have a given host to either show up on Sierra's server list,
or to NOT show up on their list. If you choose to have your server show up on
Sierra, EVERYONE that connects to that server MUST also be logged onto Sierra.
This is done because of the ranking system - if one guy (the server) is subject
to the rankings, everyone is.
DeMONS allows each host to be individually configured to either be included on Sierra or not be included. To include your host on Sierra, go to the Connections tab on the Host Configuration dialog, and check the box labelled "Register on WON/Sierra". In order for people to see/join your race, you may have to take additional steps,
especially if you're using a router like the Linksys BEFSR41 4-port router switch
for cable/DSL connections. You have to forward a range of ports, but it's not
that tough. If you want to know how to forward ports on your router, refer to
the documenttation that comes with your router. If you're using a Linux gateway
machine as a router, you are probably savvy enough to know how to do this, but
just in case, Papyrus has provided the necessary examples in the one of the
readme files that comes with the game.
|
| Not Putting it Out there |
|
In that last section we mentioned that you don't HAVE to have your server show
up on Sierra's server list. To facilitate this, simply go to the Connections
tab on the Host Configuration dialog, and check the box labelled "Use TCP/IP",
and UN-CHECK the "Register on WON/Sierra" box if it's checked.
When drivers are connecting to your server using TCP/IP, they have to know
your IP address and may even have to know your net server port value.
|
| Keeping Everybody Honest |
|
You can control access to your server by specifying a race password, and
making use of the invite list. If you specify a race password, everybody
that wants to join your race MUST know the password UNLESS you have an
invite list specified for the server.
|
| The Launcher |
|
The Launcher is what makes all this other stuff pertinent. Without D2Launcher,
none of the rest of this would have a purpose. Once you think you're done
setting up your host(s), you run D2Launcher and click the Start All button,
and the rest is magic.
I've been asked this question, so I'll answer it again here - Yes, the
Launcher MUST be running all the time for the scheule thing to work.
|
| Performance Considerations |
|
The Launcher is a multithreaded application that requires almost zero processor time while the clock ticks down to the start of a race for a given host. Beyond that, it needs to build a commandline and modify some files before the server is launched, and the thread is put to sleep while the sim is running. However, there are some performance considerations you must be aware of if you're running multiple simultaneous hosts.
|
| Scheduling Flexibility |
|
For the host, do this:
What will happen - When you start the host (from the launcher), the host will start cycling through all of the races in the schedule, and will continue cycling through the scheduled races until you tell it to stop. For the host, do this:
What will happen - When you start the host (from the launcher), the host will start cycling through all of the races in the schedule, running each event once every day at the specified time, and will continue cycling through the scheduled races until you tell it to stop. For the practice race host, do this:
For the league race host, do this:
What will happen - When you start both hosts (from the launcher), the practice server will start cycling through all of the races, and will continue cycling through the scheduled races until you tell it to stop. When it's time for the league race to start, the practice host will be told to shut down it's current server session (the sim will terminate with NO warning to any drivers that might be connected), and the league race host will start a server session for it's own race. NOTE - The league race host can be completely scheduled for the entire season and it will run each league race at the same time on the same day. When I ran a Nascar (and GPL) league, I would run practice races ONLY at the track that was next in the schedule. This would mean that you could only put one track in the practice race schedule at a time because there is currently no mechanism implemented in DeMONS to have the same track run for a certain number of days before moving on to the next track in the schedule. For the practice race host, do this:
For the league race host, do this:
What will happen - When you start both hosts (from the launcher), the practice server will start cycling through beginning at the start of the specified timeframe, and will continue cycling through the scheduled races until it reaches the end of the specified time frame. When it's time for the league race to start, the practice host will be told to shut down it's current server session (the sim will terminate with NO warning to any drivers that might be connected), and the league race host will start a server session for it's own race. NOTE - The league race host can be completely scheduled for the entire season and it will run each league race at the same time on the same day. When I ran a Nascar (and GPL) league, I would run practice races ONLY at the track that was next in the schedule. This would mean that you could only put one track in the practice race schedule at a time because there is currently no mechanism implemented in DeMONS to have the same track run for a certain number of days before moving on to the next track in the schedule. NOTE - If the practice host is turned on in the Launcher AFTER the beginning of the time frame (but before the end of the timeframe), it will start at the top of it's race schedule immediately (it does not remember races that have been run. For the Race #1 host, do this:
For the Race #2 host, do this:
What will happen - When you start both hosts (from the launcher), both the Race #1 host and the Race #2 host will start a sim server session at the specified time every Saturday. You can schedule several Saturdays in advance for each host, requiring no human intervention from the point at which you initially started the schedules running in the Launcher. For the Race #1 host, do this:
For the Race #2 host, do this:
For the Practice host, do this:
What will happen - When you start the hosts (from the launcher), the practice host will start cycling through the scheduled races at (or after) 5pm. When Saturday rolls around, both the Race #1 host and the Race #2 host will start a sim server session at the specified time, and will pause the practice host (as well as terminating it's server session) in favor of the race hosts. |
| Frequently Asked Questions |
|
Beyond that, you need to know which ports to forward. On your server machine, the default port range would be 32766 to 32767 + number of cars you will be hosting. For example, if you'll be hosting 20 cars, your port range should be from 32766 to 32787. You should also ensure that your core.ini file contains the correct "net_server_port" value. Set it to 32766. Each server needs to have it's own range of ports. Assuming you setup the first server machine as described above (forwarding the port range of 32766-32787), you may want to use the port range 32800-32821 for the second server. Don't forget to set the "net_server_port" value in CORE.INI on the 2nd server machine. On the machine where you'll acytually be driving, all you have to do is specify a net_server_port value in the CORE.INI file on that machine. You don't have to forward ports to that machine, though. Remember to select a port value that does not fall within the range of the other two machines. A port value of 32850 might be a good choice. |
| document ends |