1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

Optimization for Large Servers aka PMMP vs. Genisys and The Future

Discussion in 'General discussion' started by MK500, Nov 21, 2016.

  1. Awzaw

    Awzaw Zombie Pigman Poggit Admin

    Messages:
    726
    GitHub:
    awzaw
    If you want to handle > 80 players comfortably I think SSD and a dedicated server, not a VPS, are essential
     
  2. InspectorGadget

    InspectorGadget Zombie Pigman

    Messages:
    462
    GitHub:
    InspectorGadget
    Ikr!
     
  3. archie426

    archie426 Baby Zombie

    Messages:
    130
    GitHub:
    archie426
    Ugh, Pocketmine-Soft was not that good. I always had it when I was using Pocketmine and most bugs weren't actaully fixed. PMMP is like PocketMine dev and soft mixed into one. Although, maybe a non-programmer friendly/GUI version might work. Like how they have it on the PC servers.
     
  4. Lambo

    Lambo Spider

    Messages:
    14
    GitHub:
    Lambo16
    PocketMine-Soft wasn't supposed to fix any bugs. And how will a GUI help..?
     
    Levi, SOFe and Primus like this.
  5. Primus

    Primus Zombie Pigman

    Messages:
    749
    I'm pretty sure that Usain Bolt won't be ever possible to break his own world record by significant difference without upgrading equipment or using high tech exoskeleton.
     
  6. archie426

    archie426 Baby Zombie

    Messages:
    130
    GitHub:
    archie426
    For people who have absolutely NO idea how to use CMD/BATCH and are just trying to setup a server for their friends because realms is too costly.
     
    SamGamgee55 and HimbeersaftLP like this.
  7. XenialDan

    XenialDan Baby Zombie

    Messages:
    141
    GitHub:
    thebigsmilexd
    Over all: what about making benchmarks and REAL comparasions between 'spoons'/forks and PMMP?
    1. Player tests: 0, 30, 60, 100
    2. Block placing tests
    3. Network speed tests (compression etc)
    4. Calculation tests
    5. Plugin speed tests
    6. Tests run on different systems / setups
    This would provide the truth about the power.
     
  8. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    Can you further elaborate? Sometimes some plugins are optimized for some server software, and it is not objective to use plugins to test them. Also, about what the plugins do.
    Calculate what?
    You really think this is relevant? They just call the same PHP native functions and send through the same socket. Maybe there is difference in how they encode stuff before it goes to the network, but definitely not in the network.
     
    HimbeersaftLP likes this.
  9. XenialDan

    XenialDan Baby Zombie

    Messages:
    141
    GitHub:
    thebigsmilexd
    I thought about e.g. Manyworlds, WorldEdit/MagicWE, they should be kind of the same speed on any core
    Simply $i++. (actually something more resource intense.) Maybe some sqrt() calculations?
    Approved point.
     
  10. SOFe

    SOFe Administrator Staff Member PMMP Team Poggit Admin

    Messages:
    1,968
    GitHub:
    sof3
    This depends on the language engine and the system. How is this related to server software at all?
     
  11. Lambo

    Lambo Spider

    Messages:
    14
    GitHub:
    Lambo16
    I thought we were talking about software for high-performance, not easy use.
     
    HimbeersaftLP and SOFe like this.
  12. archie426

    archie426 Baby Zombie

    Messages:
    130
    GitHub:
    archie426
    Oh yeah, sorry for going off-topic
     
  13. MK500

    MK500 Slime

    Messages:
    77
    GitHub:
    markkrueg
    Possible; but not an easy task.

    "REAL" automated performance testing is something that big game companies (e.g. EA) have spent millions of dollars building code for. Even their code tends to fail. In other words; the performance against the artificial test code looks good, but when the game launches to real players there is a big surprise. We have seen this with many major multiplayer game launches over the last 10 years (e.g. Battlefield 3/4). It is a very difficult thing to do well. In the end it's usually best to just test live with real humans; and tweak the code from there.

    Specific to a large Factions server, what would need to be simulated would be 60 players including:
    - A certain percentage of players doing PvP with a wide variety of weapons (mix of projectile as well as enchanted melee).
    - A certain percentage of players doing lots of building (block placing).
    - A certain percentage of players doing heavy destruction and collection of blocks (mining).
    - A certain percentage of players moving erratically in a central shop/town area. Tapping signs. Showing off their skins.
    - A certain amount of mixed crop growth within areas of the world that contain active players. This can be substantial for a 20GB world.
    - A certain amount of water/lava flow and weather effects (snow gathering) within areas of the world that contain active players.
    - A certain amount of redstone machines of various complexity running within areas of the world that contain active players.

    Of course adding key plugins to the equation would be vital. The simulation should at least include a plugin that check each block place/destroy against some sort of "land ownership" plugin; as this is common in most servers (e.g. EconomyLand).

    I probably have missed many things. I'm sure not a small number of CS PHD candidates write their thesis papers on these types of simulation problems. They are non trivial.
     
    HimbeersaftLP and dktapps like this.
  14. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    Bearing in mind of course that PocketMine has no redstone support yet, and also its PHP 7 upgrade was never fully completed due to the fact of shoghicp's business at Mojang.

    About lava and water flow, we recently discovered and fixed a large CPU leak relating to block updates in still liquid bodies such as oceans. This may have been a contributing factor to your problem.
     
    HimbeersaftLP and MK500 like this.
  15. Magicode

    Magicode Baby Zombie

    Messages:
    183
    GitHub:
    magicode1
    I cried for joy when I found that out. I was so confused when my lake house lagged and I had to abandon it.
     
    dktapps and archie426 like this.
  16. dktapps

    dktapps Administrator Staff Member PMMP Team

    Messages:
    774
    GitHub:
    dktapps
    Something to note: https://github.com/pmmp/PocketMine-MP/issues/173

    In timings, PocketMine outperforms Genisys at pretty much everything (which is quite weird to be honest, everything on my base reports was faster in PM than Genisys - no bias!). Watch out for those reported values: they frequently report a lot higher than the actual usage. Genisys has this bug fixed, which is why it appears to perform better than PocketMine, particularly while idling.
     
    MK500, SOFe and Awzaw like this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.