[Discussion] My two cents about IGCN source code.

Page 1 of 2 12 LastLast
Results 1 to 15 of 24
  1. #1
    Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    84Posts

    [Discussion] My two cents about IGCN source code.

    Hi,

    My intention with this thread is to create an open respectful debate around the reasons and motivations ppl keep using IGCN (and IGCN related) src codes.

    I'm mainly talking about the S9 source that seems to start this trend ([Release] IGCN Season 9.5 (src-x9.5 9.5.1.15) SRC (April/2016)) and about the "MuEmu" S12 source (that is basically the same S9 code).

    I have some experience as a developer but very new to the Mu Online community and I'm still learning its interim but as I already analysed some things I want to better understand why, in the name of the loving god, people use those source codes (igcn s9/s12).

    It is not my intention to flame igcn team, far from that, but let's talk real. These source codes are in a very poor state. From very basic programming issues like coding-standard (that seems to be inexistent there) to logic problems (like comparing boolean variable with values that differ from 0/1) to more complex problems like using the win api to create mutexes for multi threading management instead of using c++ STD (that to not even mention the lack of use of boost) to structural problems (like having some code files with 30k+ of LoC).

    There are some other problems, but I think the above issues are enough for me to do not understand why the heck one decides to use and maintain that source codes instead of using the x-team S6 source, which seems to be light-years ahead in terms of overall code quality.

    I can only imagine the pain one have when faced with a complex problem that need delve deep in that code.

    In other hand however, I see the value of those sources on the client-server communication protocol (packet structs and stuff). But yet as a source code of a server emulator I find those sources almost unusable.

    And you? What you think about that? Is something very big I'm missing here?


  2. #2
    (づ。◕‿‿◕。) Natzugen is offline
    Alpha MaleRank
    Jun 2014 Join Date
    ElbelandLocation
    1,786Posts

    Re: [Discussion] My two cents about IGCN source code.

    Actually, thise source codes as far as i know are not their original sources, just old stuff muemu pl stole, same x-team sources wich is a pretty old version compared to their current files.

    Before them there was only zteam s8 source code wich was pretty unstable and incomplete and since most lf people here can't develop or upgrade to newer seasons they just stick to released stuff that are actually better than webzen code.

  3. #3
    Developer nevS is online now
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    363Posts

    Re: [Discussion] My two cents about IGCN source code.

    Well, all sources are more or less based on the decompilation of an original game server, done many years ago by Deathway. People use it, because there are no real alternatives and probably don't care about how the code looks like. Additionally, there are not many good developers left here which would take big task to upgrade a x-team source or to clean up the mess in the igcn code. I guess they would rather sell their work (closed source) or don't even think about it at all.
    From my experience in the "professional" software business, you can sell the biggest junk piece of software as long as it looks nice and shiny on the surface and has the required features So I guess, the same applies here, too.
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  4. #4
    Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    84Posts

    Re: [Discussion] My two cents about IGCN source code.

    Quote Originally Posted by Natzugen View Post
    Actually, thise source codes as far as i know are not their original sources, just old stuff muemu pl stole, same x-team sources wich is a pretty old version compared to their current files.

    Before them there was only zteam s8 source code wich was pretty unstable and incomplete and since most lf people here can't develop or upgrade to newer seasons they just stick to released stuff that are actually better than webzen code.
    Ye I imagined that code was not the real one used by IGCN because it is too messy to a team maintain for so many years. It is like it was coded by someone whom just learned the very basic aspects of the C language.

    Quote Originally Posted by nevS View Post
    Well, all sources are more or less based on the decompilation of an original game server, done many years ago by Deathway. People use it, because there are no real alternatives and probably don't care about how the code looks like. Additionally, there are not many good developers left here which would take big task to upgrade a x-team source or to clean up the mess in the igcn code. I guess they would rather sell their work (closed source) or don't even think about it at all.
    From my experience in the "professional" software business, you can sell the biggest junk piece of software as long as it looks nice and shiny on the surface and has the required features So I guess, the same applies here, too.
    Well, I just started to work with the x-team src code (that one which is compatible with S4, S6 and S8) and I can confirm that the overall code quality is very, very, very much better than the IGCN one. The only big real problem I faced with the x-team src code is one that is present in IGCN too: they just don't use boost and there is heavy use of direct windows api. However this isolated does not bring too much trouble, this is something we can cope with certain ease.

    Considering the x-team src is open to the community and is used for so many years, I can consider that code is stable at a minimum.

    If I decide to use the x-team src I'll "fork" the project and share the fixes as I find them in my server. When I get in time to upgrade the code to a bigger Season I can open that too. Hopefully the community will get together again and accomplish big things together. It's very sad to see the actual state of the open source codes related to server files.
    Last edited by ptr0x; 4 Weeks Ago at 06:37 AM.

  5. #5
    Just believe in me -UnicorN- is offline
    True MemberRank
    Jul 2006 Join Date
    Milan - ItalyLocation
    670Posts

    Re: [Discussion] My two cents about IGCN source code.

    Well it would be so awesome if a good open source mu server project finally appears.

  6. #6
    Member Cinu is online now
    MemberRank
    Mar 2017 Join Date
    29Posts

    Re: [Discussion] My two cents about IGCN source code.

    Quote Originally Posted by -UnicorN- View Post
    Well it would be so awesome if a good open source mu server project finally appears.
    Forget about it, it's impossible

  7. #7
    Developer nevS is online now
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    363Posts

    Re: [Discussion] My two cents about IGCN source code.

    Quote Originally Posted by Cinu View Post
    Forget about it, it's impossible
    Why so negative?

    Quote Originally Posted by -UnicorN- View Post
    Well it would be so awesome if a good open source mu server project finally appears.
    Check out my signature. Not claiming that my project is awesome already, but it's on the road to it... will take a lot of time to finish it, though ;-)
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  8. #8
    Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    84Posts

    Re: [Discussion] My two cents about IGCN source code.

    Quote Originally Posted by nevS View Post
    Why so negative?


    Check out my signature. Not claiming that my project is awesome already, but it's on the road to it... will take a lot of time to finish it, though ;-)
    That's a nice initiative but may I ask why not developing in top of the xteam src?

  9. #9
    Developer nevS is online now
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    363Posts

    Re: [Discussion] My two cents about IGCN source code.

    Well, that’s a good question and I have my reasons.
    1. I don’t know how the xteam source looks like but my bet would be that it’s the same architecture as all the others - based on the decompilation of Deathway with the original style of connected service processes. Not something I would put my hands on in my free time - I maintain a lot of legacy software at work and want to actually build something new.
    2. I have some visions which are not achievable (at least by me) in the c++ ecosystem in a reasonable time.
    3. I want to sharpen my skills in tools and frameworks which could be useful in my job.
    4. I like open source and these sources have closed source dependencies - MSSQL, binaries, etc.

    See also https://github.com/MUnique/OpenMU/issues/36
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  10. #10
    Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    84Posts

    Re: [Discussion] My two cents about IGCN source code.

    Quote Originally Posted by nevS View Post
    Well, that’s a good question and I have my reasons.
    1. I don’t know how the xteam source looks like but my bet would be that it’s the same architecture as all the others - based on the decompilation of Deathway with the original style of connected service processes. Not something I would put my hands on in my free time - I maintain a lot of legacy software at work and want to actually build something new.
    2. I have some visions which are not achievable (at least by me) in the c++ ecosystem in a reasonable time.
    3. I want to sharpen my skills in tools and frameworks which could be useful in my job.
    4. I like open source and these sources have closed source dependencies - MSSQL, binaries, etc.

    See also https://github.com/MUnique/OpenMU/issues/36
    Hmm I see...

    I just can't see why C# would be better than C++ to develop a server emulator though. C# have a lot of limitations regarding memory management compared to C++.

    Nice work there though. Hope it goes through :D

  11. #11
    Developer nevS is online now
    True MemberRank
    Aug 2005 Join Date
    GermanyLocation
    363Posts

    Re: [Discussion] My two cents about IGCN source code.

    I think people overestimate the limitations of C# and its ecosystem. For example, there is a high performance NoSql database system (RavenDB) written entirely in C# - it makes use of pointers and partly manages memory itself.
    .NET Core adds a lot of convenience if you want to optimize memory management. Span<T>, System.Buffers.MemoryPool and System.IO.Pipelines are really a game changer in this aspect.
    Do not follow where the path may lead. Go, instead, where there is no path and leave a trail. ~Ralph Waldo Emerson

    OpenMU Project: Blog - GitHub

  12. #12
    Member ptr0x is offline
    MemberRank
    Feb 2011 Join Date
    84Posts

    Re: [Discussion] My two cents about IGCN source code.

    Quote Originally Posted by nevS View Post
    I think people overestimate the limitations of C# and its ecosystem. For example, there is a high performance NoSql database system (RavenDB) written entirely in C# - it makes use of pointers and partly manages memory itself.
    .NET Core adds a lot of convenience if you want to optimize memory management. Span<T>, System.Buffers.MemoryPool and System.IO.Pipelines are really a game changer in this aspect.
    The big problem regarding C# and memory management IMHO is that if you go with pointers you will find yourself in serious problems regarding code scalability and maintainability (you are forced to use structs. Structs have to be blittable. Blittable structs are always passed by value. The list goes on...). If you choose to use Marshal class to cast raw data into classes you will feel pain when doing inheritance on your data classes. Ofc you can always goes to the Stream.ReadByte method of doing things, but I think I don't need to talk about scalability in this case, because it will be inexistent lol

    All this because C# runs managed code, which is a very nice feature for a lot of system architectures, but in a client/server application such as a Mu server emulator I think you will limit yourself very much going with C#.

    However as a tech enthusiastic I think your project is very nice :D I like exotic projects.

    Best regards.

  13. #13
    Hardcore Member solarismu is online now
    MemberRank
    May 2017 Join Date
    143Posts

    Re: [Discussion] My two cents about IGCN source code.

    Sorry bro, I have to admit that I'm anti fan of any Mu C# game engine as well... ptrox got the points.

    About IGCN, I agree with you that their released codes are uncomfortable or some said it's a mess:)
    And if you try to clean up a combination mess between IGCN and MUEMU... You know, that will be the worst nightmare.

    Anyway, IT WORKS. That's enough for them to make money. The nicer code don't bring money to them, user can't look at the code to judge their works.
    And bugs? Of course , but a bug only is true bug if people knew about it... then they will fix it later :)) use time to code "more bugs" (new features) will bring more money to them... fixing bugs? NO ^^

    IGCN also has many great sides... such as:
    1. their .xml config is super user friendly, -> I've never back to GetToken config style since ...^^
    2. they have Essential+Premium tools -> even a noob can make a Mu Server O_o
    3. big community, have more friends as well as rivals to deal with :D
    ...

  14. #14
    Just believe in me -UnicorN- is offline
    True MemberRank
    Jul 2006 Join Date
    Milan - ItalyLocation
    670Posts

    Re: [Discussion] My two cents about IGCN source code.

    Quote Originally Posted by nevS View Post
    Check out my signature. Not claiming that my project is awesome already, but it's on the road to it... will take a lot of time to finish it, though ;-)
    Yea i saw your blog :) As i said it would be awesome. Many projects started like this and afaik unfortunately no one came close to conclusion. But i hope yours does :)

  15. #15
    Ultimate Member siksamees is offline
    MemberRank
    Sep 2011 Join Date
    165Posts

    Re: [Discussion] My two cents about IGCN source code.

    Yea. Considering pro's and con's its a even situation. either way people gona run into issues.
    My friend and i tried to make server using IGCN premium files. i wasnt that dissappointed of the files condition but their team it self.
    Some basic things that works well on free repacks did not work on theirs. yet they had things that you couldnt find in any public free repacks.
    The support from them was slow as hell, and some minor bugs seemed not to be worthy of their time. Advertising new features that should be considered equal to scamming.
    its a difficult situation where people like new trends ( latest seasons/features ) and this is why i think igcn files are so common amongst current servers.



Page 1 of 2 12 LastLast

Advertisement