Topic: The Wheel - Status  (Read 12698 times)

0 Members and 1 Guest are viewing this topic.

**DONOTDELETE**

  • Guest
The Wheel - Status
« on: January 29, 2003, 12:48:16 am »
The Wheel D2 SQL testing server is up and running!
The website is up as well (link below signature pic).

It is not meant as anything too serious for now,
I am just exploring the capabilities of php and SQL.
(and my connection)

There is a working php SQL webmap, battles list
and beginnings of a shipyard. (RW, IRC and Forums too!)
All of this info is tentative and may be changed
for campaigns.

I am still working out how to edit the live SQL database
but once I do, I hope to produce a working shipyard
and player roster(?)...

I will also transfer account and map info from the old flatfile
If I can manage it. It may be some time before I can return to
the flatfile with the possibility of SQL mission testing, but I
will do so before the next campaign if I cannot transfer
the account info.

More to come..., comments are welcome...  
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

Cleaven

  • Guest
Re: The Wheel - Status
« Reply #1 on: January 29, 2003, 02:55:09 am »
Could you tell at this point if it is possible to use the battle report information to give a greater DV shift for PvP battles as opposed to AI battles?
Each time I've mentioned this it was as a "wouldn't it be nice" but now it looks like it can actually be done.    

FPF_TraceyG

  • Guest
Re: The Wheel - Status
« Reply #2 on: January 29, 2003, 03:04:37 am »
Quote:

Could you tell at this point if it is possible to use the battle report information to give a greater DV shift for PvP battles as opposed to AI battles?
Each time I've mentioned this it was as a "wouldn't it be nice" but now it looks like it can actually be done.    




Indeed, that can be done. All that would be required is to change the hex DV manually through an SQL query (or perhaps even with a php script if its possible). This could be done along with any other non-standard misssion results that you wish to send to the databse via the method previously discussed.
« Last Edit: December 31, 1969, 06:00:00 pm by Tracey Greenough »

Cleaven

  • Guest
Re: The Wheel - Status
« Reply #3 on: January 29, 2003, 04:28:02 am »
Excellent!

Now what about consumables in the spacedocks. Something that I've also put on my wish list is variable prices of consumables, ie cheaper drones for the Kzinti. And also medium and fast drones for the Kzinti before everybody else. I was thinking that to do this all drones would have to be made available in year zero, but the ships would be swept clean of any drones they weren't supposed to have. Same goes for spares, you can buy 30 for your frigate if you want to, but 24 of them will be deleted by the time you get into battle, leaving you with the six you should have.  
   

Karnak

  • Guest
Re: The Wheel - Status
« Reply #4 on: January 29, 2003, 08:30:37 am »
Hey, your website is pretty cool, Rajnsaj.  Great job.  

3dot14

  • Guest
Re: The Wheel - Status
« Reply #5 on: January 29, 2003, 11:18:16 am »
To repeat my questio in the breakground thread.

CAn teh SQL database be used to track player movement? (like SFC3's hex map?)
 

Fluf

  • Guest
Re: The Wheel - Status
« Reply #6 on: January 29, 2003, 11:45:13 am »
Great work bro.  Remember, you KAT/KOTH brothers are here to help.  Post any testing or anything else you need in the KOTH forums, and we will be glad to help.  We are getting so bored with SFC3 and need to get going with some viable D2 options.  You are headed in the right directions.

Nice website!

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #7 on: January 29, 2003, 05:21:28 pm »
Thanks Karnak!

3dot14, I have added a rudimentary roster
that includes current player position (not
sorted or formatted yet).

I have also changed the battles list to reference the
battleparticipants table so that it now reports who
played who, where, when and with what result.
(Only the last 100 battles, can also display Victory Level,
PP Awards and Host...  needs formatting work)

Cleaven, (always raising the bar...)
once I manage to edit the databse from a php script,
I could charge any price for any ship or any part
purchased with a script from a webpage.
An automated script that populates the shipyards
and polices CnC could also modify ship loadouts.
BUT, that is some time away, I have yet to sucessfully
update the database from a script.
DarkElf has made live edits to the database, and
once I get a chance to consult with him, I should be
able to do the same from a php script.

Fluf, thanks for the offer to help!
Great to have the support of the KAT/KOTH fleets.
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

3dot14

  • Guest
Re: The Wheel - Status
« Reply #8 on: January 29, 2003, 05:46:43 pm »
WOW~!

I am speechless...

Excellent work.

If anything an amatuer web-developer (that's me   but I don't know php, did a bit asp back when...) can help. let me know!

Cleaven

  • Guest
Re: The Wheel - Status
« Reply #9 on: January 29, 2003, 07:17:05 pm »
I consider the variable prices and early drone release for Kzin a wish list still. The last thing I want to happen is silly ideas and add-ons bog down the software so that only five people can play before the server croaks. BASICS FIRST!  

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #10 on: January 29, 2003, 08:34:50 pm »
Excellent points Cleaven, you have the right idea,

The Wheel is intended to be a small scale server
(due to connection and hardware...).

It is not a good platform to test large player
numbers on the SQL database. We will have
to wait for the SFC2.Net server to be set up at
XenoCorp for that. (Or continue SQL stress tests
on DarkElf's setup - but numbers have been low...)
...in the meantime I can test SQL missions and
explore the possibilities of SQL and php.

The most important test of SQL is high player
numbers, of course. Until we have the players or hardware
and connection available there is not much we can do.
(It is impossible to resist playing with SQL in the meantime...)

The Wheel connection and hardware would poop
out almost as quickly on the flatfile as on SQL
regardless. (Thus the low max player #)
So I have decided to make the most of it,
and keep myself occupied till the next big
campaign.

Glad you like it 3dot14! (It should get better too...)
It's mostly all php, but if I get stuck anywhere I'll definitely
post for help!    

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #11 on: February 03, 2003, 07:51:17 am »
Rajnsaj,
Your server and Web Site is most impressive.
I use perl to connect with my SQL server, but like how you have fed your web site with php.

Last night I did some missions in a base hex and noticed that the type of base still changes depending on your composition.
I entered the base hex with a single ship and the base was a Battle Station.
After exiting, adding 2 wingmen and returning, the base was now a Star Base with 3 Heavy Cruisers.

I guess that part of the script never changed, eh?
 

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #12 on: February 03, 2003, 09:21:03 am »
Gosh, thanks!  

Funny you should mention perl...
I was having a heck of a time trying to find a function in php
to convert a little-endian 4 byte longint to a decimal value and
when I read in the php onlne documentation comments about
the superior function of the perl pack and unpack functions I
considered moving over to perl. I got stubborn though and
figured out a way to make php do it.

This was to calculate the stardate from the currenttime blob
in the database. Now that I have figured it out though, the
value after the decimal point on my calculated stardate does
not match that of the stardate on the campaign map. The
year does match however.
(Not the stardate at the serverlist - that one is always wrong)

I guess the value after the decimal point on the campaign map
is not a simple fraction of the year that has passed ...
I searched on the web and found nothing conclusive on
calculating star trek stardates (only that the TOS dates are not
consistent with TNG dates). Anybody know how the stardate
is calculated exactly in SFC?
I am calculating it as: stardate = (TurnNo / TurnsPerYear) + BaseYear

I have added considerably to the information presented from
the SQL D2 database on my site in the last week (economy, news,
player count and player ships on the roster, campaign info).
But I am slowing down as I get to the data that is stored in blobs in the SQL
database (flatfile leftovers?). I want to tackle the politicaltension
matrix next,  and I am saving what I see as the most difficult
for last - the full shipyards with damage and stores info.
Currently, the site only displays info from the database - no
updates yet. Ideally I want to create an external shipyard that
will update all the appropriate fields, blob chunks and db
object count to allow for external manipulation of the shipyards.
(as discussed above...)

After making all this progress with the php and SQL I regret
to say that I don't think I'll be returning to the flatfile database
as promised. I will do my best to figure out how to update
the new db with old account info though.

That is kind of where I am stuck though, updating the database
properly. (Like how to assign ships etc...) I could use a jumpstart
on that if anyone has the time to explain.

I saw your battle in 19,10 on the battles list, Intruder. The one
against four AI - I felt for ya .    (Ugh, nebula hex at that too!)

Note: I added the campaign difficulty from the db to the Campaigns page
(currently set to Commodore). I'm not sure but maybe this affects what
type of base appears in missions? I know it makes for nasty ambush missions!
(Future servers will likely use new missions from ED and clintk which may
change this...)

There is also a java project in the works which has a lot more potential that
I want to contibute to, but that is being slowed down by our lack of knowledge of
the blob structures. We have figured some of them out, but
any help would be greatly appreciated (no need to re-invent the wheel,
oops, no pun intended...).

I'm having a lot of fun working on this, it's nice to see others appreciate it too!
(I have to fly more though, my piloting skills are getting a little rusty with
all this time spent on db analysis!)

   
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #13 on: February 03, 2003, 02:29:23 pm »
When you say "I could use a jumpstart in updating the DB", do you mean porting flatfile data to the SQL table(s) or merely altering the SQL table data?

As for the Base Hex question, I think the scripts create a base dependant on what's attacking. Just like it adds AI ships to scenarios that otherwise may be unbalanced.

I don't know where you stand on scripts creating AI's, but I think that scripts should match available ships and/or bases/planets only, no creating.

DarkElf and Tracy said they had solved the function for embeding SQL statements in a script.
Imagine if a script where to draw it's ships/bases/planets from a remote DB, instead of creating anything on it's own.
There would be only 1 script. Receiving the map, conditions, ships, etc from the DB, then reporting the results back to the DB afterwards.

On the Serverside, the map and all supporting web pages, what-have-you, would be updated accordingly.
If a hex has a Battle Station in it and another player happens to be there, then that's all the script uses to set up the scenario.
No additional ships if you happen to have 3 Battleships, or finding the BattleStation is now a Star Base.
When you destroy the Battle Station (and watch the other guy run like hell), it really will be gone.

I had written some scripts for myself for EaW. Like Magnums scripts, they could read and write config files.
Now I have SQL tables to which I can store ship data and other object data.
The link I need is going from scripts to SQL statements to start developing this concept.

Was that a sincere-enough plea for enlightenment?  <grin>

 

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #14 on: February 03, 2003, 06:34:09 pm »
I mean merely altering the SQL table data, which is already no problem for
the normal fields, but the blob fields pose a problem as I do not know their
structure. I cannot update fields that I don't know the structure of.
(such as the OpenShipBids and ShipCacheVector in the servcharacter table
or the Damage and Stores blobs in the ship table - which is what I think I would need
to edit the db to give players back the ships they had on the flatfile) PP, glicko and
map edits are no problem though. (So in answer to your question, both
actually, same barrier is present - blob structure)

I have figured out the structures of only a few blobs. Actually updating the
database once I have this information should be trivial.

I found the following quite helpful wrt to SQL:

 DbVisualizer

 phpMyAdmin

 SQL tutorial

 expertsXechange  MySQL Area

 JDBC documentation

 PHP: MySQL Functions

I'm not really familiar with mission scripting myself (never got a copy of VC++ 6).
I once tried to create a script without the API in MS VC++ 5 but I really didn't know
enough C to get very far. I do understand the principles of querying/updating the SQL db
from a mission script though. I thought scripts had to create AI's - what if there is no
human opponent?

Hope the links help in your quest for SQL enlightenment - I have yet to read all
the pertinent material there myself.
   
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #15 on: February 04, 2003, 02:14:42 pm »
I see what you mean. I remember...someone had figured the values before.
It's been a long time since I looked at the server database, but can you send a copy of the DB?
I don't know if I can do anything, but I'd be willing to try.

As for AI's, if you populate the ship table with ships that aren't players, but AI's......
then place them in positions on the map, they'd be a stable presence in the dynaverse.
They could be made to move about, and except for being AI's, would exist just like players.

If scripts never fabricated ships, you could actually create stable orders of battle.

Just a thought.
 

txtanker

  • Guest
Re: The Wheel - Status
« Reply #16 on: February 04, 2003, 04:19:53 pm »
The Blob stuff is the only big thing holding us up on finishing the Java project. When it is done it will give you the power of the "Q". The ability to see the universe and also to change it, on the fly.

Maybe I should change my name to Q.

Please any help with this Blob problem would be great.

TxTanker  

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #17 on: February 04, 2003, 07:59:46 pm »
"Q" - I like it
I just sent my proposed missionlist structure to you.

Thanks for the offer to help, Intruder. I'll send you a dump
of the SQL db (850KB - stripped of e-mails and IP addresses
for privacy of users). Just mail any proposed blob structures
to me and txtanker ("Q").

I was chatting with DarkElf on ICQ last night about
editing the ship and biditem tables and I think I have what
I need now to make a minimally functional php shipyard.
(just need the blobs for full function...) - Thanks DarkElf!

This is shaping up nicely...    
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #18 on: February 05, 2003, 02:37:02 pm »
I think I've got the Political Matrix Blob figured out.

I'll E-Mail you the details.

On a hunch, if you convert (hex) '9001000014AEC73E' to decimal (I don't have my Hex calculator on this machine),
does it equal the starting value for most StartingTension entries?

 

txtanker

  • Guest
Re: The Wheel - Status
« Reply #19 on: February 05, 2003, 02:44:30 pm »
This is what is comes out to be:
10376575016785332030  

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #20 on: February 05, 2003, 03:42:59 pm »
OK, so much for the simple answer.

Can someone E-Mail me his MetaMap.gf file?
 

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #21 on: February 05, 2003, 04:07:50 pm »
Sure, its on the way... (hex editor too...)
Note that the windows calculator will do some hex->dec conversions too!

I'm just looking at that now too. That repeating pattern you observed
likely has somthing to do with it... I think one of the values we are interested in
is stored in the byte immediately after each "14 AE C7 3E" sequence.

This one is tricky!
 

Arrgh! peerchat.gamesy.com is down again - most annoying,
back to local chat server (has some issues...)
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #22 on: February 05, 2003, 08:43:50 pm »
OK, I just sent you the results. Got it beat!

Even though EaW has 8 playable races, 1 non-player race and monsters, the tension matrix has 17 tables!
Only the first 8 have any data so Orions and Monsters don't seem to have Tension Values.

The remaining tables may have been for expansion.

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #23 on: February 05, 2003, 11:54:39 pm »
To cool, that's great!

I'm dying to make a politics page with the
info, but I have to be up early tomorrow.
I hope to get that done on the weekend.

I'm now collecting Stores blobs in various states
of supply to work out their structure for the
shipyard.  

Cleaven

  • Guest
Re: The Wheel - Status
« Reply #24 on: February 06, 2003, 01:22:37 am »
I wonder just when the two layer OP map was thought up!

Quote:

OK, I just sent you the results. Got it beat!

Even though EaW has 8 playable races, 1 non-player race and monsters, the tension matrix has 17 tables!
Only the first 8 have any data so Orions and Monsters don't seem to have Tension Values.

The remaining tables may have been for expansion.  


 

DarkElf

  • Guest
Re: The Wheel - Status
« Reply #25 on: February 06, 2003, 04:17:01 am »
17 tables you say?

I wonder if there being 17 ways for the political control of a Hex to be under has any coincidence?

Could you email me thre results as well rajinsaj?  This sounds most interesting...

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #26 on: February 06, 2003, 06:57:40 am »
No problem,  I just forwarded the
political tension matrix structure to you.

I'm thinking we should summarize all
this in a file to post somewhere when
we're done so that future D2 projects
will have a handy reference.

It sure would've helped me!  

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #27 on: February 06, 2003, 03:17:32 pm »
Guys,
I have the Ships Damage Blob almost solved.

It's a single table of 25 internal components. Each component has an Original and Destroyed value.
Probably used to figure Damage Percentage.
Power Systems are first, followed by Non-Weapons, and then Weapons.

They pretty much coincide with the shiplist except for 2 values that I can't find, and 2 values from the shiplist that don't seem to have been included. I am using the standard EaW 2036 shiplist.

Further study will be required to identify 100% of the component names  because the ship diagram I used didn't have all possible entries and entries with similar values can't be uniquely ID'd without something to set it apart.

 

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #28 on: February 07, 2003, 04:29:17 pm »
I have decoded the political tension values
from the matrix blob, but I treated each row
of each table as three 4 byte longints.
(instead of 1,5, and 6 Hex digit groups -
should result in the same values)

Intruder, could you take a look at the "Politics" page
and tell me if those are the same kind of numbers
you observed in the copy of the matrix blob you decoded?

I have yet to calculate the actual alliances according to: (?)

AllyRatio=0.25  //This number determines what percentage of races are allies. Calculated vs most hated enemy
NeutralRatio   =0.5 //This number determines what percentage of races are nuetral. Calculated vs most hated enemy

and

DistanceWeight=1.0
TensionWeight=1.5

... and then relate these to the text used in game to describe them ("We are at war with...").

I am looking at implementing SSL for the shipyards and supply pages
to allow for secure logins to purchase, repair or supply ships.
It will take a little work and I'm not really sure I can yet...

Great work on the Damage blob, we've almost got what we need!
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #29 on: February 07, 2003, 11:04:20 pm »
Your politics page is confusing.

In the first table (Fed), only the Romulan and Lyran Current figures are correct.
The Original Values for all 8 Races are right, but the others not mentioned above have values way off.

In the Fed Table, the ISC actually have a current value of 63, but the listed value is huge.

I can't guess yet why the values above could get as large as they are.
Since other values seem to be more "normal", I don't think it's your code.

As far as interpreting the numbers, you'll probably have to do observations to determine trigger values for the different
text descriptions.
Since it's obvious that 0 means "close friends",  go from there. Print a matrix, then click hexes and compare the values to
the descriptions.
As values increase, changes will give away the triggers.

How does that sound?

 
« Last Edit: December 31, 1969, 06:00:00 pm by UDF_Intruder »

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #30 on: February 07, 2003, 11:45:03 pm »
Thanks, that's what I thought.

I'm decoding the current value the same way as the initial
value, but maybe I shouldn't. I'll double check the calculation.

I figured I'd have to check the alliances on the campaign map
and compare with the matrix to determine the trigger values.

I'll take another look...  

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #31 on: February 08, 2003, 12:00:34 am »
The 2 values are read the same way. That's not it.
All the Original Values came out right.
2 Current ones were right, 6 were wrong.

Go figure.


I just sent you the Damage Blob Breakdown.
 

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #32 on: February 08, 2003, 12:24:40 am »
Just looking at the current value for the ISC:
00 00 00 3F as little-endian 4 byte longint: 1056964608
00 00 00 3F as big-endian 4 byte longint: 63

This would lead me to believe that the
current value is stored in big-endian byte order,
except if I calculate the Mirak tensions for the Feds
I get:
5C 8F 42 3E as little-endian 4 byte longint: 1044549468
5C 8F 42 3E as big-endian 4 byte longint: 1552892478
...neither of which makes much sense.

I gather the tension is increased by the amount specified
under PoliticalTensionInc in the MetaMap.gf file every time
a battle is fought. I wondered if these current numbers
might be correct. But these current values do not seem
to have changed in the past few days even though battles
have been fought.

I'll check for the damage blob, thanks. Hopefully I'll figure
out the rest of the political tension matrix soon, shipyards
and supply should be a little more interesting.  

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #33 on: February 08, 2003, 08:56:22 am »
Big E is definetly the way to go.
From looking at the rest of the tables, they also seem to have huge numbers.

The unused rows also have a huge number, and they're alike.

Might I suggest making a simple UPDATE query and change every current value to 0 and then observe
the progress.
On second thought, update current values so you maintain hostilities with the proper races or you might not get
missions.

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #34 on: February 08, 2003, 11:07:46 am »
Good idea to try and reset the current values to the initial,
and then observe the progress... I'll give that a try!

I'll back up the current blob first though, in case that is
not how it works. These huge numbers do not seem to
be changing which leads me to believe they are a pointer
to a value in memory... I will try a reset to initial values and
if that does not seem correct I will try the strategies below:


I started digging in the serverplatform.exe with a
hex editor for the answer to the current political tesion
values.

I found all the corresponding string pieces but have not yet found
the formula used to determine which string is presented.

I did notice the following relevant funtion names (among many others)
called from ImportExportTable.dll  however:

GetIETString
GetIETQWORD
GetIETLongDouble
GetIETInt64
GetIETFloat
GetIETDouble
GetIETLong
GetIETWORD
GetIETShort
GetIETChar
(full list below)

as well as the internal(?) functions:
MultiByteToWideChar
WideCharToMultiByte

I wonder if the value for the current tension is
a pointer to a value stored in memory? (AVtBuffer@nDataStore)?
Since these current values in the matrix blob do not seem to change
perhaps that is the case?
There is some code that comes before the tension strings
that would lead me to believe so. But then how is the tension
remembered if the server is restarted? (Doesn't really make sense)
Unless it is recalculated from the battles table info
and the gf settings each time the server is started?

Aha, perhaps I can manually calculate the current tension
according to the battles, map and character tables and the gf info myself...
then I just need to relate these values to the tension strings.


Full import table from ImportExportTable.dll for ServerPlatform.exe:
Ordinal   Function Name   
0280   ?GetIETShort@CImportExportTable@@UAEPAFPBD@Z
009c   ??1CIETStringPtrArray@@UAE@XZ
009b   ??1CIETString@@QAE@XZ
02c8   ?GetSourceAttributeSetInfo@CImportExportTable@@SI_NAAVCSourceAttributeSetInfo@@@Z
034c   ?ReleaseBuffer@CIETString@@QAEXH@Z
0226   ?GetBuffer@CIETString@@QAEPADH@Z
009a   ??1CIETData@@QAE@XZ
0198   ?Copy@CIETData@@QAEHPBXK@Z
0046   ??0CIETData@@QAE@XZ
00de   ??4CIETString@@QAEABV0@PBD@Z
004d   ??0CIETStringPtrArray@@QAE@XZ
02a6   ?GetNetInterface@CImportExportTable@@SIPAVCNetInterface@@XZ
004b   ??0CIETString@@QAE@XZ
02f2   ?GlobalInitCybernetRTI@CImportExportTable@@SI_NPAVCIETCallbacks@@@Z
00b3   ??3CIETString@@SIXPAX@Z
02f3   ?GlobalResetCybernetRTI@CImportExportTable@@SIXXZ
0049   ??0CIETString@@QAE@ABV0@@Z
0389   ?SetSize@CIETData@@QAEHK@Z
03b6   ?UpdateAttributeSets@CImportExportTable@@QAEXPAV1@@Z
0051   ??0CImportExportTable@@QAE@XZ
009e   ??1CImportExportTable@@UAE@XZ
0274   ?GetIETChar@CImportExportTable@@UAEPADPBD@Z
027d   ?GetIETLong@CImportExportTable@@UAEPAJPBD@Z
0279   ?GetIETDouble@CImportExportTable@@UAEPANPBD@Z
01a0   ?CreateAttributeSets@CImportExportTable@@QAE_NXZ
01b4   ?DestroyAttributeSets@CImportExportTable@@QAEXXZ
031a   ?NetRegisterAttributeSets@CImportExportTable@@QAE_NXZ
031c   ?NetReregistrationCallbackProc@CImportExportTable@@UAEXXZ
031b   ?NetRegistrationCallbackProc@CImportExportTable@@UAEXXZ
031d   ?NetUnregisterAttributeSets@CImportExportTable@@QAEXXZ
00b1   ??2CIETString@@SIPAXI@Z
0152   ?Add@CIETStringPtrArray@@QAEHPAVCIETString@@@Z
0282   ?GetIETWORD@CImportExportTable@@UAEPAGPBD@Z
027f   ?GetIETQWORD@CImportExportTable@@UAEPA_KPBD@Z
0281   ?GetIETString@CImportExportTable@@UAEPAVCIETString@@PBD@Z
027a   ?GetIETFloat@CImportExportTable@@UAEPAMPBD@Z
027c   ?GetIETInt64@CImportExportTable@@UAEPA_JPBD@Z
027e   ?GetIETLongDouble@CImportExportTable@@UAEPAOPBD@Z


Full export table from ServerPlatform.exe:
Ordinal   Entry Point   Name
0000   00189ba0   ?CreateIET@CIETCallbacks@@SIPAVCImportExportTable@@ABVCIETID@@@Z
0001   00189c20   ?DestroyIET@CIETCallbacks@@SIXPAVCImportExportTable@@@Z
0002   001cccc0   ?FindIET@CIETCallbacks@@SIPAVCImportExportTable@@ABVCIETID@@@Z
0003   00189b90   ?GetAppName@CIETCallbacks@@SIPBDXZ
0004   001cccc0   ?SetupIETForExtOwner@CIETCallbacks@@SIHPAVCImportExportTable@@@Z
0005   00189c90   ?UpdateStatus@CIETCallbacks@@SIHPBDH@Z


The export table for ImportExportTable.dll is HUGE (too much to post here)...
ImportExportTable.dll code would tell me if Big-E or Little-E byte order is used.

I guess I will try and grab the values from memory (if there, and if possible in php),
otherwise I will try to recalculate the values myself. I have decoded the current tension
values every way I can think of, it must be some kind of pointer.

Phew, repair and supply has got to be easier than this!


NB: This might be viewed as reverse engineering, but I could not find a
license agreement in my serverkit. Neither does the client license agreement
mention the server component. So I assume it is OK. (I'm certainly
not making any money off it, and it's only to help add to the game...)  

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #35 on: February 08, 2003, 06:37:54 pm »
I edited the political matrix blob to set all current tensions equal to
the initial tensions (while the server was running) and it reported
the same tensions as before. Ater a mission completed however,
all empires became "a long term partner" and no battles could be fought.
So I put the original blob back and it returned to normal. I forgot
to check the blob before restoring it though, I'll have to repeat the
experiment.

The result I did observe suggests that the current value portions
of the blob are indeed pointers, however I'm still not sure. I will
repeat... (sorry to be so dry, but hopefully this will get exciting soon...)  

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #36 on: February 11, 2003, 09:18:12 pm »
Sorry to be away,
I had a death in the family and was not able to come online.

After I get back my senses, I'll begin working again.

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #37 on: February 11, 2003, 11:46:51 pm »
My deepest sympathy for your loss.

You and your loved ones will be in my prayers.

Take all the time you need, you've been a big help already.

Sincerely,
rajnsaj  

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #38 on: February 12, 2003, 12:51:57 am »
I have managed to create a login for the shipyards
page that uses my forum's users table.

You should soon be able to buy a ship securely
by logging into the shipyard page using your
Gamespy ID e-mail address (WONLogon)
and the password for your Wheel Forums
account (must use the same e-mail address).

So, register on the forums, then create a character
by logging on to the D2 server, using the same e-mail
address that you used to register on the forums.

When you login to the shipyards you should be able to
see an empire specific list of ships in order of class.
And hopefully by tomorrow you will be able to purchase
them there. The supplies page will be done similarly soon.

I also have a good bead on the automated population
of the shipyards according to admin settings.

I decided to take a break from trying to figure out the
current political tesnion values, I'll get back to those
after the shipyards (more important)

Note, the first tests of the java servlet will be underway
soon too!
 

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #39 on: February 14, 2003, 11:08:30 pm »
Yipee! I just bought a ship from the shipyards page!
(now functional...)

I forgot to subtract the PP from the character table
though, Doh! (Free ships - get em while they're hot!)

Also have to add a function to enumerate the number
of ships a player currently has, and prevent exceeding
the three ship limit. (So don't bid on more than you are
allowed for now,  god knows what would happen...)

I'm not exactly sure how it will handle multiple bids
on the same ship though. (Haven't seen this in action
on the server yet, I think I may have it set up properly,
but I'll work that out in time...)

This soundly lays the foundation for a script that will
automate the population of the shipyards exactly
according to admin specifications!   I have it pretty
much worked out in my head, but need to finish
fully decoding the Damage and Stores blobs in
the ship table. (Alternatively I could empty the shipyards
and make ships only available on the webpage,
from a separate database.)
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #40 on: February 15, 2003, 03:07:33 am »
Raj,
After looking at the dump file more, I think the Damage Data Pairs may
actually be Original and Current REMAINING instead of Current DAMAGED.

Had an idea the last couple of days.....
The one thing I never liked about the Dyna was that Base Assaults had to be
repeated (Successfully) until the Defense Value was reduced to 0 before
removing it from Enemy control.
The base always has full strength each battle, while the player has
 to repair and re-arm.

Obviously, everyone complains and says that once a base is beaten,
it should be removed.
I might have a method to remove a base when it's beaten the first time.

Consider this....
While there doesn't seem to be any entry for "Base Assault" as a mission
type, you can get the battleparticipantID's from "BattleParticipant", and from
there cross-reference the type of ships involved for any battle from
 "BattleParticipantShip".
If the shiptype happens to be "SB", "BATS" or "BS", we know it was a base
assault.

"BattleParticipantShip" will also indicate the final Damage Value of the Base
 and whether it was destroyed.

If the base was destroyed, take the BattleID from "BattleParticipant" and
cross-ref to "Battles" to get the hex location, then index the hex in "MapHex",
and remove the base by updating the BaseType entry to 0.


Use your favorite SQL script interface (php, perl, C++) in a loop run "Backstage" to
constantly search for Bases that have been destroyed and issue an Update
Statement to alter the MapHex table, removing the Base.

If a base is then built in the same hex, the monitoring process should maintain
a log of hex locations and BattleID's where it removed a base so it wouldn't
get confused when it sees a base in the hex again.

Was that confusing enough?  <grin>

 

Cleaven

  • Guest
Re: The Wheel - Status
« Reply #41 on: February 15, 2003, 04:47:42 am »
It is already possible to set bases to be destructible or indestructible, with the last server update. What most people seem to want is a base that is only destroyed when the DV is reduced to zero.    

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #42 on: February 15, 2003, 08:00:01 am »
Thanks Intruder, I have some addional damage blob
data from the same ships damaged and undamaged
that I'll use to check that out.

Having just gotten the shipyards page working, I will
finish that off (see above posts) then move on to the
supply page where I will need this data to repair ships.
I've yet to work out supply and  trade-ins too.

When that is done I can then automate the shipyards
once I can reconstruct the damage and stores blobs
for all the ships in the current shiplist.

My intention is to finish the webpage interface then
move on to automated admin scripts using the
knowledge gained; such as your base monitoring
script idea (interesting possibilites for more than
just bases using this strategy).

Cleaven, are the settings you describe the
PostBattleMinimumRepair and PostBattleRepairRatio
settings under [Base] in the Score.gf?

Also, DarkElf, if you are listening/reading,
what kind of a scheme are you using to
"clean" the SQL database? I would like to
automate this as well...  

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #43 on: February 15, 2003, 10:13:30 am »
Thanks for the info Cleaven,
The people I talk to subscribe to the "1 death" rule. They'd like to see a Dyna that worked like
Fed and Empire.

But that's just 1 oppinion.

The "Backstage" scripts are definetly the way to add anhancement to the server.

My pet project has been Economics.

I added a table that broke down each hex, adding a random number of planets to serve
as a basis for a detailed Economic Model.
My Backstage processes operate these planets in a "Supply and Demand" environment.
Each planet is rated for capacity of raw materials, which they harvest.
When a planet needs a resource it doesn't have, it asks for some from one that does.
That planet sends freighters full of that resource to the requesting planet.

This process has the end effect of creating AI freighters that move about with
deliberate missions.

My goal is to make Convoy Raids REALLY affect the Economy.
 

Karnak

  • Guest
Re: The Wheel - Status
« Reply #44 on: February 15, 2003, 11:12:29 am »
I set up a 10 MB InnoDB file and the DB acts pretty efficiently.  The configuration for InnoDB can be found in MySQL Manual pages.  

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #45 on: February 24, 2003, 10:07:08 pm »
Financial constraints will bring The Wheel to a halt
next month.

I have been working on a set of updated scripts
for the ISC Invasion website. The webmap and other
scripts have been vastly improved in the process.

After a few more finishing touches I will post the
scripts for download for anyone who wishes
to use them as "The Wheel To Go" if you will...

I will include instructions for easy setup and
testing. Hopefully I will still be able to contribute
to decoding the database and adding to the D2
by posting on free dial-up accounts (ack!)  in the
future.

Maybe, if I'm lucky, The Wheel will be back on
a bigger and better connection next year.

I hope to have a link to the scripts up by the end
of the week.  

Karnak

  • Guest
Re: The Wheel - Status
« Reply #46 on: February 24, 2003, 10:34:58 pm »
<S> KATrajnsaj,

I am very sorry to hear about this rajnsaj. The SQL WebMap and accessories you made are going to make the GFL D2 dyna have the cutting edge in online user interaction with the dyna during campaign play.  You have done a great job and deserve all the credit the GFL can give.    I will, of course, keep the Wheel's contribution to this dyna and running for the life of the ISC Invasion campaign and for future GFL D2 campaigns.  

 If you need a D2/SQL server then you most certainly can use mine between campaigns when I am online.  
« Last Edit: February 24, 2003, 10:36:41 pm by Karnak »

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #47 on: February 26, 2003, 11:50:54 am »
Thanks Karnak, setting the scripts up on your server
helped improve them a lot.

Here is a link to a download page for the scripts
(should remain up once I go offline...)

http://members.fortunecity.co.uk/rajnsaj/

Just unzip the package into its own folder (zip password - "rollin").

Edit the "mapcfg.php" file to match your servers settings.
(currently has my settings...). Most of the settings should
be self explanatory (comments in file...).

Upload the all the files to their own folder on your webserver
and simply point your browser to that folder. (assumes default
index file on server is "index.html" - if not just link directly to the
index.html file).

Note: there are two asteroid types still missing from the map script
but I haven't encountered them on any map yet... If you see a hex
on the map that has no terrain type text - that is one of them -
please note the number for the terrain type and I can add it to the
next revision.

Also note that the server status detection is geared to work with the
dns2go service from Deerfield.com. It should work on real domains
too but I havent properly tested that yet.

If there are any troubles or questions just post on this thread -
I'll keep an eye on it when I can.
   
« Last Edit: December 31, 1969, 06:00:00 pm by rajnsaj »

Demandred

  • Guest
Re: The Wheel - Status
« Reply #48 on: February 26, 2003, 03:03:46 pm »
You are also welcome to use my server anytime you like rajnsaj, if you need somewhere to host scripts.

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #49 on: February 27, 2003, 11:33:00 am »
Thanks Demandred, thats very generous.

Feel free to download the zip file and post
it on your server too.

I just discovered the nasty popups on that free site.
(like gator, funny how they dont show up on the first few viewings...)

I just suspended my account with my ISP for this Sunday.
(I might be able to be back up in May... I hope, I hope...)

 

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #50 on: March 25, 2003, 05:17:06 pm »
A friend has generously offered to temporarily
host The Wheel - it's on a keen ADSL connection
I tested at 1250/640 kbps down/up (wow).  
Complete with RW base station and webpage up at:
 The Wheel ... enjoy!    

I hope to get on and play a bit on a big server
when I get my new place, see you soon!
 

FPF_TraceyG

  • Guest
Re: The Wheel - Status
« Reply #51 on: March 25, 2003, 09:04:27 pm »
Glad to hear the Wheel will be back up Rajnsaj, glad too see you back as well.

**DONOTDELETE**

  • Guest
Re: The Wheel - Status
« Reply #52 on: March 27, 2003, 07:12:53 am »
Thanks Tracy,

I have some changes and upgrades to come
for The Wheel this summer.  I have some bits of
the D2 database left to work out how to decode
and access by scripts as well. Communications about the
database structure have resulted in the genesis of
some very good ideas for the long term too.

 I hope to be back online for the ISC invasion
or sooner.  I might be able to logon to play a bit from my friend's
place till then.  

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #53 on: March 27, 2003, 11:51:34 am »
Rajnsaj,
You (and everyone else) will see an EaW Server titled "SQL Test" has been up for the past few days.
This is mine, and I'm starting to put into operation the ideas we talked about.

I have (4) servers set up, though only the SFC Server is now online.
It is running EaW 2036 and MySQL.
Since they seemed to have brought OP up to parr with EaW, once I get some consistant operation with SQL,
I will be pulling EaW and installing OP 2538.

The other servers will be a Web Server (Apache and PHP), a server strictly for Voice Chat Servers, and
a PC that will operate as "Background SQL Ops". I know you understand that term.

None or these servers are "screamers" as far as power goes, 800Mhz - 1 Ghz, 512 RAM , so that's one of the reasons
I am using multiple servers.

I won't be running any Campaigns on this server yet. I need to collect data from players running around on it, and develope
the background ops processes.
I will ask that anybody who has the time, log in to this server and run any type of missions offered, even forfeit a few to
provide as wide a selection of data as possible for the research.

During the process, I will gladly post details of what is being developed if anyone is interested.
One of the first background tasks I'll be developing is "Wormholes", first between locations on the same server, then,
if it works, between locations on different servers. You can figure out the implications yourself. <grin>



 

Karnak

  • Guest
Re: The Wheel - Status
« Reply #54 on: March 27, 2003, 12:01:03 pm »
Cool, welcome back rajnsaj.

UDF_Intruder

  • Guest
Re: The Wheel - Status
« Reply #55 on: April 05, 2003, 02:15:47 am »
For anyone who may be interested....

Tonight turned out to be very productive. I finally got the router settings right and now both the Web Server and the Game Server are online.

The Web Site can be reached at http://24.186.124.97:18185.

As I said before, the non-standard port is used because many worms target the standard HTTP Port 80. This way it's a bit tougher for scanners.

I got that piece of wisdom from an acquaintance (rajnsaj) who is doing the same as I am, but is quite a bit ahead of me in his efforts.

I'm re-writing the pages to reflect what is going on now, and will include a section about the progress of the Project as I go along.

The Game Server is running SFC2:EaW version 2036 with a MySQL database for records. The Web Server also has an SQL database, and the intent is to cause them to interact.

I have a small bit of tinkering yet to do to see if I can run the client from a separate PC on my LAN, allowing the server total control over the PC. Hopefully this will improve the operation.

Probably by Weds of next week, I will be able to plug in SFC2:OP and see how that works.

Regardless of which game is being used, the Server Name will be "SQL Test" for simplicity.

I still have a 3rd server under construction which will be used for other types of servers. Maybe Elite Force or as a Voice Chat Server.