Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Thread Tools Display Modes
Old 06-20-2013, 02:47 PM
Fire Beetle
Join Date: Aug 2012
Posts: 15
Default EQuilibre, an open source client

As a few people may have gathered from this thread, I have been working on an open-source EQ client called EQuilibre and some related tools like a character viewer, a zone viewer etc.

After quite a lot of time working on this, the client is able to do very very basic things like connecting to a server, selecting a character, entering a zone, moving around, seeing NPCs and other player move around, and change zones. You can't send messages, you can't target anything, basically the only interaction you can have with NPCs is that they can kill you.

The source is on Bitbucket. You can build it on both Linux (straightfoward to set up) and Windows (takes longer to set up). I have uploaded Windows binaries so that most people don't need to build from source. You will need a copy of EQ for the assets (which one does not matter very much).

A couple videos:
What mostly works:
  • Rendering terrain, objects and player for vanilla/Kunark/Velious zones.
  • Rendering weapons and other (non-skinned) equipment.
  • Rendering pre-Luclin animations.
  • NPC are rendered using the right models, genders and skins (for example, choosing between merchant and guard skins for Qeynos NPCs). There are some glitches with helm textures. This was quite a lot of work to match .s3d model names (like QCM, ELM, GNN, etc) to race IDs, likewise for mapping animations between models.
  • Collisions between player and terrain (it is still possible to fall below the ground, oops).
  • Low-level networking code (handle dropped packets).
  • High-level networking code (connect to a server, change zones).
  • Warping to a place in the current zone (#goto) or to another zone (#zone). Use Ctrl+F to bring the 'Go to' dialog in the client or zone viewer.

At this stage even these basic features are unfinished and buggy, for example:
  • NPCs may have the wrong scale or center (so they appear to hover above the ground).
  • The culling code is really bad which means a lot of NPCs don't have name tags.
  • Name tags are drawn above everything else which means you see tags for NPCs that are hidden.
  • NPCs do not yet collide with the terrain, so that corpses may be below the ground.
  • Nothing collides with static objects (like the lift in gfaydark).
  • Zoning only works at some specific zone points (in gfaydark, for example). Even with these zone points, you might end up in the wrong place in the new zone.
  • ...
  • and so on

I am developping against a local EQEmu server that runs 'loginserver', 'world' and multiple 'zone' instances. I don't want to distribute an implementation of the crypto code that allows connecting to live or EQEmu servers, that's why it's not present in the Bitbucket repo or binaries. I have written a simple authentication plugin that expects plaintext logins and SHA1 hashes of passwords (what EQuilibre uses by default). For now this is the only way to use the client.

You'll need to edit 'login.ini' with something like:

plugin = path\to\EQuilibrePlaintextAuth.dll
For Linux servers you will need to pull my dynamic loader changes and rebuild EQEmu.
I have only used EQEmu on Linux and never tested EQuilibrePlaintextAuth on Windows so this might not work, though I hope it does.

Anyway, though this is very unfinished and lacks tons of feature I hope somebody will enjoy playing around with it until I can make it better!
Reply With Quote
Old 06-20-2013, 05:53 PM
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309

Awesome! Sent you a PM~

Your videos are amazing!
Browser based EQ project
Reply With Quote
Old 06-20-2013, 10:41 PM
Hill Giant
Join Date: Jul 2012
Location: Oklahoma
Posts: 223


You deserve Hero Status for this! I can not wait for this to come to a usable state! Even so, this is Very Exciting!

Thank you for all the hard work
Reply With Quote
Old 06-21-2013, 10:04 AM
Fire Beetle
Join Date: Dec 2010
Posts: 18
Default Post a Paypal link for donations

If you are scrounging for resources, I can think of a few people who would be willing to donate (including myself). You should check with the admins and try to get a Paypal donate button on this thread.
Reply With Quote
Old 06-21-2013, 02:28 PM
Fire Beetle
Join Date: Aug 2012
Posts: 15

Thanks It is a lot of work but without Windcatcher's WLD reference and the EQEmu source I would have never gotten anywhere with this project. So kudos to him and the EQEmu devs!

I work full-time so what I am scrounging for is time to work on this project. I would definitely appreicate any testing and feedback. Especially from people familiar with the EQEmu source/EQ protocol, that would be awesome! Thanks for offering to donate though
Reply With Quote
Old 06-24-2013, 03:40 PM
Fire Beetle
Join Date: Aug 2012
Posts: 15

I realized that the timeout used when connecting to a server was set too low which made it impossible to connect to EQEmu servers with default send rate thresholds. Getting from server selection to character selection takes over 10 seconds which is why I set this to a much higher value on my server.

I made a new release with some other minor changes:
* Save the user name, password, login server host and port in the settings file so that you don't need to enter it every time.
* Use GPU skinning by default. Helps if there are a lot of visible characters.
* Optimizations.

Reply With Quote
Old 06-24-2013, 05:20 PM
ChaosSlayerZ's Avatar
Join Date: Mar 2009
Location: Umm
Posts: 1,465

Reply With Quote
Old 05-27-2015, 10:08 PM
Wisteso's Avatar
Fire Beetle
Join Date: Dec 2012
Posts: 13

This looks very awesome. Id love to help work on something like this if I could find time.

Curious why bitbucket and not github though?
Reply With Quote
Old 05-28-2015, 04:51 AM
Join Date: Mar 2012
Posts: 1,107

Go go Necromancer.

You have gotten better at thread reaping (101).
"No, thanks, man. I don't want you fucking up my life, too."

Reply With Quote
Old 05-30-2015, 06:18 AM
Wisteso's Avatar
Fire Beetle
Join Date: Dec 2012
Posts: 13

Wow.. didn't even notice how old the thread was. I have no idea how I even found it.

Whats more sad is that the project code hasn't been touched in almost two years =(
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -4. The time now is 05:48 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
Powered by vBulletin®, Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3