Idea

Results 1 to 7 of 7
  1. #1
    Member Yazoo is offline
    MemberRank
    Aug 2016 Join Date
    AsmodaeLocation
    78Posts

    idea Idea

    Hello,

    I come to you for a request like the tutorials that StingerOne has made which are in my opinion perfect and

    understandable. I would like to suggest that you make a dictionary post, explaining what certain words refer to or

    what they are used for. For example I read opcode in some post but I'm not sure I understood what it really was.

    We could complete it thanks to the comments.

    (sorry if I posted in the wrong place I hesitated)


  2. #2
    Proficient Member StingerOne is offline
    MemberRank
    Aug 2021 Join Date
    AltgardLocation
    160Posts

    Re: Idea

    Firstly, thanks for the kind words :)

    So an opcode by Wikipedia's definition is a number, or set of numbers that specify the instruction to be run on a computer system. Typically this is finished with a system interrupt to signal the kernel to invoke the system call, it's all system programming related theory which you don't really need to worry about for aion emulation.

    Opcode: https://en.wikipedia.org/wiki/Opcode
    Interrupt: https://en.wikipedia.org/wiki/Interrupt
    Syscall: https://en.wikipedia.org/wiki/System_call

    .. those are for reading if you find systems programming interesting.

    In the context of Aion Online Emulation, an opcode is essentially the identifier within the packets we send from the server or receive from the client that tell us what is in the packet so we know what to do with it.

    In the login server packets, it's the third byte as a uint16.
    In the game server packets, it's the third and fourth bytes as a uint16.

    As an example, when the client first connects to the login server, it will require a packet be sent to it. Within the packet will be all of the new client specific keys generated by the server, along with the opcode of the packet, which will be 0x00 or simply 0, this is known as the SM_INIT packet.

    I'd call it a packet identifier, but the original devs call it an opcode. It tells the server what it has received, not necessarily what instruction it needs to invoke from the kernel.

    I guess it depends how you've setup your source code as well.

    In my core I use the "opcode" to determine which packet I have received and if I have a function available to process the packet, this helps me add functions as I go, I think it works really well with the send and receive/push and pull design of Aion Online's net code.

    Hope this helps clear up some confusion.
    Last edited by StingerOne; 26-06-22 at 02:07 PM.

  3. #3
    Member Yazoo is offline
    MemberRank
    Aug 2016 Join Date
    AsmodaeLocation
    78Posts

    Re: Idea

    Thank you very much, you are always as precise and clear, a real pleasure to read each time your answers. I note all this in my notebook, I'm starting to have a lot of interest in knowing how it all works.

    - - - Updated - - -

    I'm going to sound like an idiot but StingerOne, could you explain to me in detail the difference between a Retail emulator and a non-retail one?

  4. #4
    Proficient Member StingerOne is offline
    MemberRank
    Aug 2021 Join Date
    AltgardLocation
    160Posts

    Re: Idea

    Quote Originally Posted by Yazoo View Post
    Thank you very much, you are always as precise and clear, a real pleasure to read each time your answers. I note all this in my notebook, I'm starting to have a lot of interest in knowing how it all works.

    - - - Updated - - -

    I'm going to sound like an idiot but StingerOne, could you explain to me in detail the difference between a Retail emulator and a non-retail one?
    Not sure, I'm going to guess and say retail is an attempt at creating a 1:1 retail experience, whereas most emulators are non retail because they're not feature complete and setup like retail servers.

    Sorry, I don't keep up with the trends, in my mind there is no such thing as a retail emulator unless you're the physical embodiment of the NCsoft gods themselves and have the server software for each version of the game.

    In that case, why bother emulating?

  5. #5
    Member Yazoo is offline
    MemberRank
    Aug 2016 Join Date
    AsmodaeLocation
    78Posts

    Re: Idea

    hahaha thank you for your answer, I wanted a year to buy someone a server with source then I decided to rather take the time and plan to learn how to create it. I think I was right because 300 euros for that hurts me and I prefer to drink beer with pineapple syrup with that money xD.

  6. #6
    Proficient Member StingerOne is offline
    MemberRank
    Aug 2021 Join Date
    AltgardLocation
    160Posts

    Re: Idea

    Quote Originally Posted by Yazoo View Post
    hahaha thank you for your answer, I wanted a year to buy someone a server with source then I decided to rather take the time and plan to learn how to create it. I think I was right because 300 euros for that hurts me and I prefer to drink beer with pineapple syrup with that money xD.
    300 euro isn't worth it. Learning to program is invaluable in the technology world.

    Without it, it's difficult to modify the core components. Hence why there is a list of 1-click servers.
    Last edited by StingerOne; 27-06-22 at 05:19 PM. Reason: removed 3am text lol

  7. #7
    Apprentice Ryclos is offline
    MemberRank
    Nov 2013 Join Date
    Papeete, FrenchLocation
    6Posts
    Hello,

    Sorry but just for tell you Yazoo your private message box is full.
    So I can't response you :p

    Sorry and best regards.



Advertisement