-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modern Client Functionality / Opcode Support #59
Comments
Highly unlikely, I don't see a reason to do this. If you want custom opcodes you would have the knowledge of using TC, patching the client, etc. |
@MaxtorCoder |
I don't see a reason for them to do that honestly, as it is the plan of CMangos to support Legacy clients |
Well someone has to lay the groundwork at one end of things, I guess. I can try bothering killerwife and Cyberium until they relent and let me put opcode handlers for some modern client features in, as long as they don't interfere with legacy clients. They're probably not particularly enthused about it tho, because for some modern opcodes to be in CMaNGOS, there needs to also be Client/HermesProxy support. So, kind of a chicken & egg situation |
We should not implement such things unless they are made an official part of cmangos and other emulation projects. Having handlers for opcodes in the main hermes repo that only exist in your own personal fork of the core makes no sense. If it becomes official in cmangos, then we can make it official in hermes. But i can say as the vmangos maintainer, I wouldn't want such things in the core, as the project's goal is to emulate 1.12 vanilla not 1.14 classic. |
Exactly, so I don't see this happening, not now and maybe not even in the future. |
It can't happen unless one side does the first step, that's true. |
Of course not, but it's more that the original server would have to support the optional handlers/forwarders for new opcodes. |
Well they don't have to. New Opcode support should be optional on all sides and only enabled when agreed upon by both parties. |
@insunaa I am pretty sure it will not get accepted in cmangos, I know I would be against it if i was part of cmangos. So we will end up with support for functionality that only exists in insunaa/mangos-classic fork 😆 And in that case the hermes side support should remain in insunaa/HermesProxy as well. |
I have no say what happens in cmangos. If they decide to add it in cmangos, we can add it to hermes as i said, but otherwise it makes no sense for us to have such custom stuff. |
I'll talk to them about it. 👍 |
I have no idea how modern warden works, but if we don't support |
I don't think Warden 3 has been reverse engineered and implemented in any public core, but I bet @MaxtorCoder knows for sure. |
Warden indeed has not been reverse engineered for modern clients, 4.3.4 is the max reversed client for it |
CMaNGOS says no, so I'm closing the issue tentatively. |
Is there a possibility that HermesProxy will eventually support custom opcodes?
I personally am in favor of custom opcodes, to make better use of the functionality of the newer clients. The new clients support many things, such as the Threat API, the Quest Completion API, more detailed information about some types of data, etc.
IMO such an addition should not interfere at all with servers that do not support the custom opcodes.
We've partially talked about this in my Threat API pull request draft. (#44)
It should be very possible to build a system that can query a server which supports custom (but well defined) opcodes about which custom opcodes it implements and which ones HermesProxy implements, so that a consensus between Hermes and the Server is reached which opcodes Hermes or the Server can process, so that only these opcodes are actually sent.
This would of course require a small protocol to be developed and standards to be set such that those custom opcodes don't get out of hand.
The text was updated successfully, but these errors were encountered: