Ask me anything regarding Aion Development

Page 1 of 3 123 LastLast
Results 1 to 15 of 36
  1. #1
    Proficient Member StingerOne is offline
    MemberRank
    Aug 2021 Join Date
    AltgardLocation
    160Posts

    talk Ask me anything regarding Aion Development

    I'm building an Aion core and thought it would be a great idea to open a thread to answer any questions regarding Aion Online Emulator Development.(mod, please move if it's not in the right forum. cheers)

    I would love for more people to come onboard with building their own solutions and collaborating to keep the emulation development scene alive. I was going to build out a website with information but I figured collaborating like this would be better so we can meet other developers and learn together.

    Please post any questions below and I will try my best to give you as much information as I can.

    I will not be taking conversations to PM's, please keep them strictly within this thread for others to view and learn. Please don't post code blocks and ask me to help you fix it or recommend aion cores. Please keep it strictly Q&A regarding development. Thanks!
    Last edited by StingerOne; 06-08-21 at 02:29 PM.


  2. #2
    Victus Mortuus Kreeate is offline
    LegendRank
    Aug 2010 Join Date
    2,364Posts

    Re: Ask me anything regarding Aion Development

    Which version of Aion were you thinking of developing an emulator for?

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

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by Kreeate View Post
    Which version of Aion were you thinking of developing an emulator for?
    That's a great question, I'm currently building for Aion 4.3

  4. #4
    "One day at a time" Robyson is offline
    [VIP] MemberRank
    Sep 2013 Join Date
    TzionLocation
    1,857Posts

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by StingerOne View Post
    That's a great question, I'm currently building for Aion 4.3
    Good luck to you.
    Last edited by Robyson; 06-08-21 at 02:36 PM.

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

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by Robson26 View Post
    There is a good 4.3 on the forum, you can try it.
    Please read my post again, the aim is to answer questions regarding development, not to compile an aion core.

  6. #6
    Apprentice quasaralpha is offline
    MemberRank
    Sep 2015 Join Date
    United KingdomLocation
    21Posts

    Re: Ask me anything regarding Aion Development

    Hi there.
    It would be good to find more people who can work on collision detection ,most if not all server emulators have really poor NPC/Monster movements. Like...nothing to do with offi movement and even theirs is crappy. If you are wondering what the heck I am talking about ,it's mostly
    monsters trying to chase you and failing to do so while passing through solid walls ,falling inside the ground (and no it's not geo files) , but then again ,even player movement is a bit poor.
    You mentioned answering questions , I have one regarding the quest system and I am talking about the code itself ,a bit difficult to understand how does it work step by step.
    I believe in Lineage 2 the server was accessing html files from the client and I assume it is the same with Aion , and then how does the server quest
    engine do the whole thing ,loading ,scheduling tasks ,managing runnables for individual players ,it's a bit ambiguous ,I don't expect to find any documentation anywhere for an emulator of course ,that would be silly ... but would it not be nice to have such in the first place ? I know I am silly :D.

    Anyhow ,nice of you to start such a thread btw ,cheers.

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

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by quasaralpha View Post
    Hi there.
    It would be good to find more people who can work on collision detection ,most if not all server emulators have really poor NPC/Monster movements. Like...nothing to do with offi movement and even theirs is crappy. If you are wondering what the heck I am talking about ,it's mostly
    monsters trying to chase you and failing to do so while passing through solid walls ,falling inside the ground (and no it's not geo files) , but then again ,even player movement is a bit poor.
    You mentioned answering questions , I have one regarding the quest system and I am talking about the code itself ,a bit difficult to understand how does it work step by step.
    I believe in Lineage 2 the server was accessing html files from the client and I assume it is the same with Aion , and then how does the server quest
    engine do the whole thing ,loading ,scheduling tasks ,managing runnables for individual players ,it's a bit ambiguous ,I don't expect to find any documentation anywhere for an emulator of course ,that would be silly ... but would it not be nice to have such in the first place ? I know I am silly :D.

    Anyhow ,nice of you to start such a thread btw ,cheers.
    For the monster movements, it's primarily the spawn engine located here: src\com\aionemu\gameserver\spawnengine\SpawnEngine.java that does most of the work in calculating the spawn points, walker points to move to etc..

    Taking a look at that engine files, it's consists of a lot of movement in 3D space, the original developers got it working with some simple geometry to specify the next point to walk to which can't be good and results in the issues you described. I'm no mathematician, but when I get players into the world I will take a look more deeply into this and see if we can do something better to combat the weird anomalies.

    Regarding the quests and how they work, The engine is located here: src\com\aionemu\gameserver\questEngine and really it's not very interesting to look at. Most of the static data is on the client, and the emulator uses packets mapped to functions on the client to run dialogs and initiate quests, it's a tightly coupled relationship where the client does most of the static work and the server is the moderator confirming that what you want to do is actually correct.

    Some quest packets you might find interesting are below:
    - SM_QUEST_LIST
    - SM_QUEST_COMPLETED_LIST
    - SM_NEARBY_QUESTS
    - SM_QUEST_ACTION
    - CM_QUEST_SHARE
    - CM_DELETE_QUEST

    The way the developer implements the quest engine or spawn engine is entirely up to them and how they want it to work. There are some things that definitely need to stay the same, for eg. the packet structures and responses, but how you design the system and how all the parts fit together is up to you.
    Last edited by StingerOne; 08-09-21 at 01:33 AM.

  8. #8
    Apprentice quasaralpha is offline
    MemberRank
    Sep 2015 Join Date
    United KingdomLocation
    21Posts

    Re: Ask me anything regarding Aion Development

    That's awesome.
    Thank you for the information.

  9. #9
    Proficient Member qw19860616 is offline
    MemberRank
    Jun 2013 Join Date
    151Posts

    Re: Ask me anything regarding Aion Development

    Hello, I am also developing new features in 4.3 and am preparing to build a virtual character. I don’t know where to start. Can you give me a hint?

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

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by qw19860616 View Post
    Hello, I am also developing new features in 4.3 and am preparing to build a virtual character. I don’t know where to start. Can you give me a hint?
    Hi there, certainly, what specifically do you need help with? Are you building a new emulator or are you building on top of the AL core? What do you mean by virtual character?
    Last edited by StingerOne; 08-09-21 at 06:26 AM.

  11. #11
    Proficient Member qw19860616 is offline
    MemberRank
    Jun 2013 Join Date
    151Posts

    big grin Re: Ask me anything regarding Aion Development

    I am based on Al, of course, it can use skills yourself, automatically run as a target, I see some source code in the SAO source code, if you want to tell me Skype, I will add you, so More convenient communication

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

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by qw19860616 View Post
    I am based on Al, of course, it can use skills yourself, automatically run as a target, I see some source code in the SAO source code, if you want to tell me Skype, I will add you, so More convenient communication
    Can you please be a bit more specific? Please update your previous comment with exact details of what you are trying to accomplish and what you have tried so far. I will update this comment with a solution.
    Lets keep the replies in this thread, so others can learn as well. Cheers

    I'm guessing you want to make a bot player walk, talk and attack?

    Game client & server packets: `src\com\aionemu\gameserver\network\aion`
    Login client & server packets: `src\com\aionemu\loginserver\network\aion`


    More specifically, for the gameserver you want to open `AionConnection.java` and add a print statement to the `sendPacket()` function to see what packets are being sent to the client from the server like so:



    You would do the same thing for the loginserver side but you'd edit `LoginConnection.java` like so:



    Once you know what packets are being sent, It's just a matter of creating a new class that reads and writes these packets internally to the emulator, but you also need to have a character in the database to login(maybe a clone of your character?). I think this is what you are wanting to do?
    Last edited by StingerOne; 09-09-21 at 01:57 AM. Reason: Updated with possible solution.

  13. #13
    Proficient Member qw19860616 is offline
    MemberRank
    Jun 2013 Join Date
    151Posts

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by qw19860616 View Post
    I am based on Al, of course, it can use skills yourself, automatically run as a target, I see some source code in the SAO source code, if you want to tell me Skype, I will add you, so More convenient communication
    I only have ideas, I haven't started implementation, so I want to ask if you are better ideas, I want to reflect the completely free robot, with the same consciousness as character operation.

    - - - Updated - - -

    Quote Originally Posted by qw19860616 View Post
    I am based on Al, of course, it can use skills yourself, automatically run as a target, I see some source code in the SAO source code, if you want to tell me Skype, I will add you, so More convenient communication
    I only have ideas, I haven't started implementation, so I want to ask if you are better ideas, I want to reflect the completely free robot, with the same consciousness as character operation.

  14. #14
    Proficient Member qw19860616 is offline
    MemberRank
    Jun 2013 Join Date
    151Posts

    sad Re: Ask me anything regarding Aion Development

    Quote Originally Posted by StingerOne View Post
    Can you please be a bit more specific? Please update your previous comment with exact details of what you are trying to accomplish and what you have tried so far. I will update this comment with a solution.
    Lets keep the replies in this thread, so others can learn as well. Cheers

    I'm guessing you want to make a bot player walk, talk and attack?

    Game client & server packets: `src\com\aionemu\gameserver\network\aion`
    Login client & server packets: `src\com\aionemu\loginserver\network\aion`


    More specifically, for the gameserver you want to open `AionConnection.java` and add a print statement to the `sendPacket()` function to see what packets are being sent to the client from the server like so:



    You would do the same thing for the loginserver side but you'd edit `LoginConnection.java` like so:



    Once you know what packets are being sent, It's just a matter of creating a new class that reads and writes these packets internally to the emulator, but you also need to have a character in the database to login(maybe a clone of your character?). I think this is what you are wanting to do?

    Yes! ! This is what I want to do! ! ! The data of the database has been realized! ! ! You can clone a character into the game normally! ! ! But it did not attack and walk as I wanted! ! I have compiled a list of skills! ! But I don't know where the problem is! !

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

    Re: Ask me anything regarding Aion Development

    Quote Originally Posted by qw19860616 View Post
    Yes! ! This is what I want to do! ! ! The data of the database has been realized! ! ! You can clone a character into the game normally! ! ! But it did not attack and walk as I wanted! ! I have compiled a list of skills! ! But I don't know where the problem is! !
    Print the packets being sent to the server and received by the client, send those. All source code for how to accomplish this is in the packets themselves.



Page 1 of 3 123 LastLast

Advertisement