I finally got tired enough of sitting on this and decided to upload what I have. I've been swamped with RL issues lately, and I decided that if I didn't just upload the darned thing I might never make it public. So here it is: After four-and-a-half years of work, SimpleClient initial release, build 1.0.0.2!
Included in the ZIP:
- SimpleClient executable and all content (to the best of my knowledge, free and unencumbered).
- ClearLogin, open-source test loginserver (sort of a MiniLogin for SimpleClient)
- My modded EQEmu 0.5.5-ZP server
- My test database for the server
Now some explanation...
SimpleClient itself is closed-source, with the exception of certain files that must be opened due to licensing restrictions. I had wanted to open the entire client, but the EQEmu devs are demanding that I keep it closed to prevent cheating. So if anyone has any objections, take it up with them
There really is only one file (the main one) that would have to remain closed, so if anyone has any requests for other parts of the code (e.g. network code, 3D engine, etc.) I can make those public with no problems. If you have OpenZone, for instance, then you already have the engine (albeit an older version).
SimpleClient does NOT read EQLive zones. It doesn't know how (though it theoretically could, but as built it doesn't). So don't even ask. This was a decision I deliberately made (1) to drive people to create original content, (2) to make sure that THAT particular piece of ammo would not be in SOE's arsenal, and (3) to avoid the possibility that 99% of the SC servers would just be clones of EQLive. The point was to drag people AWAY from EQLive, not shove them toward it.
ClearLogin, as mentioned above, is sort of a Minilogin for SimpleClient. SC uses its own login protocol that Doodman and I created, and has nothing at all to do with the login protocol that the live client uses. ClearLogin is only intended for testing and is not intended for general use. Doodman has already implemented the protocol in the main EQEmu LS, and the community only needs him to enable that LS and make the host:port it uses public for people to connect to it.
The release includes my own test server and test DB. The DB itself is compatible with EQEmu 0.5.5, but SimpleClient itself is actually compatible with several server versions ranging between 0.5.5 through 0.6.0-DR2. It should be possible to make the DB compatible with versions up to 0.5.8 with little modification, and up to 0.6.0 with a little more. See server_versions.ini in the distribution to see which versions SimpleClient supports. It can theoretically support other versions in that range by editing its .ini files.
SimpleClient isn't compatible with anything newer than 0.6.0, due to the fact that EQEmu 0.6.1 and newer use different netcode. However, SimpleClient uses DLL's for netcode logic, and I've included the source to those netcode DLL's that I've written. If anyone wants to write DLL's for newer netcode, it should be possible for you to do so, and all you have to do to get SimpleClient to use it is to tell it which DLL to use in its .ini files for which server version.
From a legal standpoint, I've been very careful to avoid any copyrighted or trademarked material and as far as I can tell, this should pass legal muster. The content was all built from scratch, as was the code, with the exception of the sun and moon graphics. KhaN supplied those a long time ago, and I was
very clear to him to make sure they were unencumbered. The client bears some similarity to the look-and-feel of EQLive (or of EQLive several years ago), but thanks to
Apple v. Microsoft (where Apple
LOST), copying look-and-feel is legal (so the amateur-lawyer teenage EQ fanboys in the back row can kindly sit down and keep quiet, kthxbye). SOE could always howl and threaten if they wish, but I doubt they will. I've
definitely put in a good-faith effort to steer clear of anything they own and I would bet that they understand that. That being said, the sooner that people in the community can mirror this the better, first because it's on a free hosting site (which are never reliable) and second just for safety's sake. We also should get a private SVN server up -- the sooner that at least one other person can build this with some flavor of Delphi 6 (even D6 Personal should do), the better. I use the Pro version, but as far as I know I'm not using any classes that require it.
Anyone who runs a server with this has some DB work to do, at the very least, and probably some spell work to do as well. The first thing you need to do is add more guildmasters. There isn't even a cleric guildmaster in (as I never made a temple model to put one somewhere), for instance. Nonetheless, the DB has some quite playable areas. I foresee that a lot of people will be spending a lot of time in Lelembeth, but don't ignore the other zones. There is some interesting equipment to find in some places off the beaten path. More content can always be added, of course, and if there's anything people need (like zone sources), ask and it shall be provided.
Okay, that was long-winded enough. Here's where you can get it:
SimpleClient release (this is the first time I've tried MediaFire so we'll see how it works -- RapidUpload kept failing and it's just too big for SaveFile):
http://www.mediafire.com/?rfmy1yd2l2y
SimpleClient open sources (DLL's that I wrote for it):
http://www.savefile.com/files/1501292
EDIT: download link updated with an updated archive. This has the right DLL filename, server source, and more up-to-date readme text.