EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   General::General Discussion (https://www.eqemulator.org/forums/forumdisplay.php?f=586)
-   -   EverQuest in Unity Engine project (https://www.eqemulator.org/forums/showthread.php?t=35658)

Tyen05 12-30-2013 04:10 PM

Quote:

Originally Posted by drakelord (Post 227214)
When you say hangup, do you mean you just haven't done it yet or are you having an active problem with it?

Both

Quote:

Originally Posted by drakelord (Post 227214)
Edit: And the handshake issue, are you having a problem where you have to re-establish the tcp connection for every packet or something?

The handshake issue was that we had to re-authenticate every time a packet was sent.

Those problems are now solved and we have the packet sequence pretty much done (sending / receiving).

The networking will be released open-source just like everything else.




We basically took Derision's EQExtractor code and tweaked it for a networking scenario instead of a packet collection scenario. Uses naez's class for sending and derision's constructor to recieve the proto packet

naezbutt 12-30-2013 04:53 PM

My sending class was just a quick prototype of a UDP client (read: it's pretty shit). It will likely need read/write threads and processing in the main thread in a design pattern that is seen a lot in the server code, so that network I/O will not lag each frame. Actual packet managers will probably need to inherit from this generic UDP client base class so that it can be reused for communications with the loginserver, worldserver and zoneserver (with a different virtual function for each, handling packet opcodes). It's got some utilities in it though that can translate C# structs into a raw byte buffer compatible with C, the Crypto API .dll symbol imports are working (though we still need embed it as a resource or something so it can be loaded by the web client), and I'm told Secrets has the CRC16/32 checksums working now too. Secrets is working on tying the infrastructure together.

It's still kind of a clusterfuck right now but once we get through to the breakthrough point of this network backend and can reliably commmunicate with the server, we should be able to rapidly make progress on a ton of features like tracking movement, attacking, commands like /who and /con etc, adding spawns/other players, and some of the more basic spells like heal and nuke.

drakelord 12-31-2013 10:07 AM

I'm looking forward to this project simply because it'll make porting custom content easier. EQEmu is such a robust server solution in it's current form. It'd be nice to see it used for more diverse situations.

Tyen05 02-11-2014 12:45 AM

Update:

Secrets has generously offered to create an open-source way for developers to create custom clients to connect to an Eqemu server.

I don't believe many will understand how legendary this will be for actual custom client control, but this is a big deal. Secrets will be going down in EQ history as the person that allows any developer to have complete client customization for EQ.






Naez has started with Unity Gameplay Mechanics in relation to the 450 op_codes on the Eqemu server.

For example, you feign death in the game, and the server knows your feign death.






Tyen/Salty is continuing asset implementation into the Unity Engine, starting with Ecommonlands.

Ecommons object XML (rotation, scale, location) into Unity. (this)







Requiem is "thrashing" the server code and also making it more customizable in-game by putting "things" in the database.

Example; having a database editor in-game with additional options such as waypoints and spawns to customize your server.

Secrets 02-11-2014 07:52 AM

Let me make it clear Salty: As long as you are wanting to attack Project 1999 and EQEmulator servers, you are considered too mentally unstable to assist in any projects.

If anything is done by myself, it will be open sourced so you could benefit from it. I am not 'working' for you, I am working for everyone.

image 02-11-2014 11:23 AM

http://2.bp.blogspot.com/-UUBBVvfBUc...n-bush-gif.gif

Tyen05 02-11-2014 12:15 PM

Quote:

Originally Posted by Secrets (Post 228228)
If anything is done by myself, it will be open sourced so you could benefit from it. I am not 'working' for you, I am working for everyone.

Exactly how I stated it in my post, and I appreciate your continued contribution towards Open-Source EQ development.

Tyen05 02-12-2014 05:30 PM

Quote:

Originally Posted by Secrets
you are considered too mentally unstable to assist in any projects.

I'll bite.

You may feel I'm "unstable" because I like to demonstrate server-related problems, but the EQEMU code-base is becoming more stable due to what the EQBrowser team found and the information I have provided EQEMU developers. Everyone who has played any Emu server knows things don't get done unless you generate attention.

I have yet to see any asset extraction tool (besides the one we created) that is able to do Models, Animations, Textures, Mats, & XML rot/scale/loc all at once.


I am assisting & contributing openly in custom client development, and have made huge strides, are you?

demonstar55 02-12-2014 05:40 PM

How to correctly report crash bugs with opcodes: Make a post with which opcodes can be used and how. If you want to provide a proof of concept crash plugin, send the source to one of the devs. If you want to include a tiny snippet, I personally have no problem, but some of the other devs might not.

How not to report crash bugs: Provide a compiled plugin in a public forum without source and not mention which opcodes cause problems.

Note: I like open disclosure on these things, but making it extremely easy for anyone to just grab the plugin and cause havoc is the wrong way to go about it. Calling devs names is also not a good thing. The thing is, more of the problems you've guys found were fixed because of the attacks you performed on servers, not you reporting them responsibly.

Tyen05 02-12-2014 05:48 PM

Quote:

Originally Posted by demonstar55 (Post 228256)
Make a post with which opcodes can be used and how. If you want to provide a proof of concept crash plugin, send the source to one of the devs. If you want to include a tiny snippet, I personally have no problem, but some of the other devs might not.

I have done what you described, yet the information is hidden from the public, as is anything that could make the project more stable for anyone starting a server.

It's basically the main problem with EQEMU "open-source development."

You want to gather anyone who has the time and expertise, yet keep it hidden from anyone who could contribute.

It's like a frat or sorority. Only the "cool" kids run the stable code, while everyone else is left in the dark.

Tyen05 02-12-2014 05:53 PM

I'm a dickhead because garnering attention is the only way to get things done around here. I'm ok with being the bad guy.

Quote:

Originally Posted by Secrets
If anything is done by myself, it will be open sourced so you could benefit from it. I am not 'working' for you, I am working for everyone.

This is the real story, and what is going to jump-start custom client development.

I don't care who likes or dislikes me, but THIS is important for the development community.

demonstar55 02-12-2014 06:00 PM

If you're talking about the post you made yesterday, that would fall under doing it wrong.

Repeatedly crashing clients on P99 is also doing it wrong.

How you should of reported it since you seem to be completely incapable of understanding:

Quote:

The opcodes OP_Emote and OP_GMSearchCorpse can be forged with MQ2 sending a non null-terminated payload that causes zone and client crashes.
That provides enough details so a dev can fix it, it also gives one details to build a plugin to cause problems for servers, but that's okay, we need to fix those things. The dev looking at the problem shouldn't have to open up your plugin in IDA to see what you're doing to cause crashes :P

Tyen05 02-12-2014 06:03 PM

It's deeper than that. Every instance of strlen() is sploitable.

Also in terms of r99/p99, Rogean and I don't exactly have open lines of communication.

He makes it to where I can't communicate with him, so I have to show him.

Quote:

Originally Posted by demonstar55
Calling devs names is also not a good thing

Have not and will not.

demonstar55 02-12-2014 06:11 PM

Quote:

Originally Posted by Tyen05 (Post 228260)
Have not and will not.

You called me names :P

Tyen05 02-12-2014 06:13 PM

Quote:

Originally Posted by demonstar55 (Post 228261)
You called me names :P

I would only call you a pal for contributing posts in my thread, whether in agreement or disagreement.


All times are GMT -4. The time now is 10:42 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.