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