A little more information on SQL.dll & Clan.dll
I've been quite curious about these strange DLLs and what exactly the server does with them... So I scanned API calls during it's basic execution, and compared the results with them present, and without.
You already know my love of spreadsheets for presenting information in a technically meaningful manner I think... so again I'll share a Zoho link to my results.
You can see and download (in your preferred format) my spreadsheet >>here<<.
There may well be some anomalous results with the Library:call vs. Library:callEx and such because I didn't leave the server running very long in each case... You should also note that there is no clan system set up on my server... so there is likely to be much more clan activity if a user logged on who is actually in a clan, on a server that uses them.
What was particulaly interesting to me, was the number of libraries that are late loaded by the server. ie. The calls that are not defined in it's IAT. (The Inport Address Table in the PE)
I was also quite surprised at the number of DirectX and GDI32 calls made by the server... since it never produces a DirectX display, and because GDI32 didn't exist when the game was first released.
From what I can gather, much of the initial startup of the server is very similar to that of the client, even though all those textures and graphical stuff is never going to be used in the Server.
If I'm right in that, there could well be a lot of scope for reducing server resource overhead, just by nulling out the startup code it goes through that allocate resources that don't get used.
Please let me know what you think of this idea.
Re: A little more information on SQL.dll & Clan.dll
An awesome idea indeed. Many have issues with the server growing more and more resource-consuming as it stays open, like an object leak. Reducing any wasted space is good in my book.
Some rambles and mentions about the SQL.dll -- some were saved incorrectly in a DOS format. Some use variables that automatically fill in the correct server data, whereas some people must edit the dll and replace such variables with their own. Editing is required nontheless if the SQL.dll is used, therefore it's not a hastle. A lot of the SQL commands are missing a spaces so they're bunched together "likethis".
Another mention ~ SQL.dll creates a large portion of the Priston Tale server logs.