I remember that was one goal of my porting the server code to work on NT.
My goals have slightly increased and I wanted to also make it possible for
people to write their own robots, and maybe steal some of the thunder from
robo-soccer.  I have switched to rewriting the server in Java.  It still
remains to be seen if the server can realistically handle 16+ clients, but
the code currently isn't really that optimized and it will have to wait
until January or so when I can test it.

Here is a list of some discussion that I had with Sheldon:

-----Original Message-----
From: Darryl Palmer Jr [mailto:Darryl_Palmer_Jr at acm.org]
Sent: Sunday, December 02, 2001 12:12 PM
To: Steve Sheldon
Subject: RE: [Vanilla List] Server questions


Where it is right now is not that far.  It is able to accept the incoming
connections (I've tested it up to two cliens).  It is able to send a hard
coded Message of the Day, plus emulate a queue.  It is able to send the
first update messages to get the player to the login screen, but it
currently doesn't support that.  The way that I was looking at for
versions is below:

Version	Release	Feature
0.4		12/01		No queue support.
				No player database support.
				No UDP support.
				No short packet support.
				No feature support. (ALL features disabled)
				Players are able to login as guest.
				Players are able to select teams.
				Add support for custom Motd.
				Limited functionality, players are just able to fly around
					galaxy and send messages.

0.7		12/01		Add Weapon support.
				Add docking support.
				Add feature support.
				Add support for custom Features file.
				Add support for misc. commands such as refitting and repairing.
				Add queue support.
				Add database support.
				This function should appear as a fully functional Bronco server
					without voting support.

0.9		1/02		Add support for UDP.
				Add support for short packets.
				Add support for Ghostbusted clients.
				Add RSA support.

1.0		1/02		Add support for other server types. INL/Hockey/Practice/Newbie

2.0		???		Add support for user designed robots.
				Add support for scenario training.

-----Original Message-----
From: Darryl Palmer [mailto:Darryl_Palmer_Jr at acm.org]
Sent: Thursday, September 27, 2001 2:01 AM
To: Steve Sheldon
Subject: RE: [Vanilla List] Server questions


I was going to take up doing the NT port again, but then I stopped myself.
Orgininally the windows port of netrek was to increase the number of
people running a server.  Ideally one could also bundle the client with
the server so that individuals could practice in a nice "friendly"
environment with the buddies or just with automated robots.

Well, then I was thinking about what if it was in Java instead.  Yeah java
is slow, java is inefficient but what exactly is the target audience for
the users.  It doesn't matter that the server may require more resources
than an optimized server, such as the current Vanilla server or a Windows
port, because the user will be using this server intermittently not to
setup a permanent game server for the metaserver.  For the same reason the
user will probably not care that much for the increased resources that the
"client" portion also requires.  Now the question is what is the gain?
Well we can support more people using the software than just Windows
users.  We can also do something a little bit cooler.  What if we had the
capability of not only including bots in the server but also allow people
to write their own bots?  Writing a netrek bot, whether it is a single
player or is an entire team, must be more fun than that robosoccer stuff.
And if it is easy enough we might even be able to have a Robotic Netrek
League of some sort.  So if the idea now is for people to write their own
robots, which language should it be in?  And which technology supports
dynamically loading classes/objects while having strict security and
restrictions on this classes.  It came down to either Corba, COM(+), or
Java.  Java is the outright winner because most newbie programmers will be
able to write a Java program versus the other two.

I was trying to figure out what should a valid program look like.  And I
was thinking it should have a format similar to how JUnit functions.
Something like:

class myAI extends AIRobot
{

	void setupRules()
	{
		AIRules rules = new AIRules();

		rules.addRule(new PlanetTake("takeUndefendedPlanet"));
		rules.addRule(new PlanetTake("cloakedPlanetTake"));

		rules.addRule(new runnerScummer("buttTorpLikeHell"));
		rules.addRule(new runnerScummer("runLikeCrazy"));
		rules.addRule(new runnerScummer("patrolCore"));

		rules.run();
	}


	class runnerScummer extends AIRule
	{
		void buttTorpLikeHell()
		{
			Ship nearestEnemy = findNearestEnemy();

			if( distance(nearestEnemy) < 5000)
			{
				Direction shipBearing = bearing(nearestEnemy);

				// Rotate bearing 180 degress so we run away from the ship.
				Direction newShipDirection = rotateDirection(shipBearing, 180);

				setDesiredDirection(newShipDirection);

				setDesiredSpeed(getMaxShipSpeed());

				if(fuel() > 5000)
				{
					fireTorpedo(shipBearing);
				}
			}

		}
	}
}

The rules should probably be selected accourding to some ruleSelector that
decides which rule should be followed according to either random
probababily or mixed also with some weighted evaluator.


Hmm, does this sound intersted or just rants from a crazy person.


Darryl

-----Original Message-----
From: vanilla-list-admin at us.netrek.org
[mailto:vanilla-list-admin at us.netrek.org]On Behalf Of James Cameron
Sent: Tuesday, December 04, 2001 11:42 PM
To: vanilla-list at us.netrek.org
Subject: Re: [Vanilla List] Growing Netrek - Measures


Jeff wrote back in May something that summarises well what I am aiming
for here ... I commend it to the new members of the list ...

On Mon, May 07, 2001 at 07:57:22PM -0400, Jeffrey Nowakowski wrote:
> The really important project is to get netrek as a single download
> that includes a spiffy client with a tutorial.  The download should
> include the server so the user can play without connecting to the
> network.  It should run under 95/98/NT.  It should include an option
> for a small sized map that lets a small group of office workers play
> and have fun.

Task list and progress:

- single download spiffy client, happening, beta done,
- test spiffy client on 95, 98, and NT, yet to start,
- tutorial, yet to start,
- server in download, needs porting work, no fork() to dup() fd's,
- server with small map, yet to start, low priority.

Let's just do it.  ;-)

--
James Cameron    mailto:quozl at us.netrek.org     http://quozl.netrek.org/
_______________________________________________
vanilla-list mailing list
vanilla-list at us.netrek.org
https://mailman.real-time.com/mailman/listinfo/vanilla-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3043 bytes
Desc: not available
Url : http://shadowknight.real-time.com/pipermail/netrek-dev/attachments/20011205/f462953f/smime.bin