Dedicated Manager for Online Nascar Simulations (DeMONS)
Last updated: 11:00am (central time), 07/04/2001
|
| What Is It?
DeMONS/2 is a front end manager for dedicated Nascar Racing 4 by Papyrus.
At first, I wasn't planning on doing a DeMONS/2 because I figured Sierra
would do the right thing and make the multi-player experience a little
less complex for server admins. Well, they tried to, but it didn't really
work.
After a dozen or more requests for a new version that catered to N4, I
relented and started working on D2. I'm going to try to make DeMONS a
better WON than WON.
Many thanks to the following people for their help in chasing the
demons out of DeMONS/2:
- Eric Busch (*)
- Shawn Wise (*)
- Bill Cregger (**)
- Jeff Causey (**)
(*) Shawn and Eric were great help in getting the INI settings and
command line parameters properly arranged in my little brain box. Without
their help, I would still be sitting there mumbling "What the hell does
that do?"
(**) Bill reported the first bug in DeMONS/2. I know, it's a
dubious distinction, but what the hell, it helped everyone else. Jeff also
gets mentioned because he's probably the most dedicated user/tester I have.
|
| Why Does It Exist?
One of the things I think is wrong with N4 is that all the WON stuff is
included *in the game*. In my oh-so-humble opinion, this is a "bad idea"
(tm). The WON interface should have been made an EXTERNAL nuthin-fancy
windows app. This would have allowed much more freedom to enhance the
functionality of their system, and would have reduced the sim to be just
a sim instead of what it is today. I feel very strongly that it would
have simplified the code in the sim program itself, resulting in a better
experience while driving, and better compartmentalizing the code.
If you haven't figured it out already, the whole idea is to make DeMONS/2
a complete replacement for WON/Sierra. This means that races that show up on
the nanny server will NOT show up on the WON/Sierra server list.
With those rants in mind, DeMONS/2 will support the following basic
feature set:
- Multiple N4 hosts running on a single machine - up to ten N4 hosts
can be configured for each machine, and each host runs it's own schedule of
races
- Remote administration of the machine running DeMONS/2
- Remote public setup - drivers can setup a race on remote servers
(that are configured to allow it)
- Any D2 servers configured to do so will report to a central server
which will make these servers visible to clients/drivers.
- Clients/drivers will be able to join configure N4 and a race
without having to first run N4 (unless the server they want to join is
registered on WON).
- Clients will be able to swap car files and chat while viewing the
list of servers.
DeMONS/2 will be comprised of three sets of components:
- Server Admin Components - all the things server admins need to
manage their servers.
- Client Components - components that allows clients to view/join
races, setup races, chat, and exchange car files.
- Nanny Components - these components will live on a "central
server" that accepts race results, controls access to races, calculates
stats, etc. The first central server will be RaceServer.net (if they're
still around when we get to that stage of development).
Testing will be an on-going thing. As of the time I'm writing this,
v0.0.0.19 is currently available for testing, and includes only the Host
Admin Components.
|
| What Does It Cost?
DeMONS is (and always will be) free software as long as I own the rights
to the software. If Sierra or Papyrus wishes to contact me about buying
the software (including source code and all other related files), I'm
willing to listen - grin.
|
| How Does It Work?
There are three primary parts to DeMONS. The host component set, the
client component set, and the nanny component set. Each component's state
of development is indicated by the color of the text. Examples:
- pretty much finished
- actively being coded
- started
- basic design started
- not started yet
Host Components - This set of programs is provided for people that
want to host N4 races on their own hardware.
- Local Host Configuration -
This utility allows the server admin
to setup up to ten N4 hosts, each or which run in their own thread using
their own schedule. I anticipate that most individual machines can run
maybe two or three hosts at a time, depeneding almost entirely on the
bandwidth available to that machine.
- Launcher -
This program actually watches each schedule and
runs specified races at scheduled intervals (or dates and times). This
is ALL this program does. It uses very little cpu time (not even measurable
on my P3/500).
- Scrubber -
This program is used only by server admins running
on Windows 95/98/ME machines. The reason it's needed is because the Windows
versions listed do NOT read the N4 track INI files using normal Windows API
calls (the problem does not exist on NT or Win2K).
- Remote Host Configuration -
This program allows host admins
to configure their DeMONS hosts from a remote location. Depending on the
type of server admin, they can either change EVERYTHING, or they can
configure a single configured host on the remote machine.
- Remote Host Monitor -
This program lives on the N4 host machine and waits for remote connections
from remote administrators.
- Public Race Setup Monitor -
This program lives on the N4 host machine and waits for remote connections
from clients that want to configure a race remotely.
- Results Reporter -
This program imports the N4 results file created by the sim, and sends the
data to the nanny server, as well as generating a custom web page for the
event itself. It also allows custom points schedules so that the server/league
admin isn't forced to use Nascar points.
Nanny Components - This set of programs is
provided for people that maintain the results database, run the chat server,
and maintain the global muzzle list. At this time, Raceserver.net will
initially be the only "nanny" server available. None of the components have
been designed at this time, but they're listed below:
- Results Database - This program will maintain the results
database.
- Chat server - This program may provide IRC server functionality.
- User maintenance - This program allows people to register.
Client Components - This set of programs is
provided for the people who will be joining races.
- Race Client - This program will allow the racer to configure N4
and join races without having to be in the sim until they're ready to actually
join the race. This will include selecting a car file, specifying a password
for the race, and other related options.
This program will also provide chat and car file exchange capabilities, as
well as the ability to remotely configure races (only one race at a time) on
hosts that have been configured to allow it.
- Scrubber - I'm not sure, but we may need this program for
clients too.
|
| What About Wreckers?
There will be a method for banning users from racing on ANY N4 server that
is connected to the nanny server, and I think I may have even figured out a way
to guarantee that a banned (muzzled) user stays banned, despite the user ID,
email address, or CD key he uses. At this time, I plan on only giving this
ability to the nanny server components, but I may enbd up adding it to the host
components as well.
It's really up to the folks that are running the nanny server wther or not
they charge for access (to either N4 hosts and/or race clients), but I don't
anticipate this happening.
|