Quote:
Quote:
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 |
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. |
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.
|
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. |
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. |
|
Quote:
|
Quote:
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? |
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. |
Quote:
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. |
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:
I don't care who likes or dislikes me, but THIS is important for the development community. |
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:
|
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:
|
Quote:
|
Quote:
|
All times are GMT -4. The time now is 01:51 AM. |
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.