mod LAG impact comparison [closed]

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison - example real server

by Festus1965 » Post

as techage is running on Asia Thailand now since a bit,
and most around Spawn (6) where most active gamer are present have change most nodes now
and my base 6 is complete changed to techage with left just 5 gold chests (technic) here is an interesting

and here pipeworks and technic ARE tuned up a bit by myself : better intervall, no radistion, ...

but check yourself how big the difference is of a good (techage) and a bad performing (pipeworks+technic) mod

/profiler save
short headlines ...
* technic: 33.1 %
* pipeworks: 26.1 %
* wielded_light: 7.9 %
* unified_inventory: 4.9 %
* default: 4.9 %
* mobs_monster: 4.1 %
* player_api: 3.7 %
* poshud: 3.2 %
* mobs_fish: 2.4 %
* mobs_animal: 1.4 %
* areas: 0.8 %
* techage: 0.5 %
* postool: 0.5 %
* xp_redo: 0.5 %
...

so easy for you to imagine how low lag is if you deny pipeworks+technic on your server = more fun

33.1 % + 26.1 % = 59.2 % the 2 mods ... = when they are off, server has left just 50% of previous lag !!!

I wait for Sunday 1.5.2022 getting profiler without them ... can profe it then every Sunday again ...

full:

Code: Select all

(T@__builtin)A total of F4755069E sample(s) were taken.E


 instrumentation                                         |    min µs |    max µs |    avg µs | min % | max % | avg %
-------------------------------------------------------- | --------- | --------- | --------- | ----- | ----- | ------

 technic:                                                |         1 |     99169 |       536 |   0.0 |  99.1 |  33.1
  - on_leaveplayer[1] .................................  |         3 |       196 |        10 |   0.0 |   8.6 |   0.4
  - on_player_receive_fields[2] .......................  |         1 |        29 |         1 |   0.0 |   3.0 |   0.1
  - ABM 'Tools: tree tap' .............................  |        20 |       134 |        50 |   0.3 |  11.4 |   3.8
  - ABM[1] ............................................  |        15 |       968 |        61 |   0.0 |  31.2 |   2.4
  - ABM 'Machines: reactor melt-down check' ...........  |       124 |     18412 |       418 |   0.1 |  92.2 |  13.8
  - globalstep[2] .....................................  |         1 |     96566 |        45 |   0.0 |  96.8 |   0.9
  - globalstep[1] .....................................  |         1 |       528 |         2 |   0.0 |  41.1 |   0.2
  - ABM 'Machines: timeout check' .....................  |         5 |     21920 |       127 |   0.0 |  88.7 |   5.6
  - on_dignode[1] .....................................  |         1 |      1352 |         7 |   0.0 |  39.0 |   0.3
  - on_joinplayer[1] ..................................  |         4 |        34 |         6 |   0.0 |   0.2 |   0.0
  - ABM 'Machines: run power monitor' .................  |         9 |      1987 |        75 |   0.0 |  31.2 |   2.9
  - ABM 'Machines: run coal alloy furnace' ............  |        15 |     13914 |        46 |   0.0 |  83.5 |   2.3
  - on_player_receive_fields[1] .......................  |         1 |       169 |         1 |   0.0 |   6.7 |   0.1
  - globalstep[3] .....................................  |         1 |     38021 |       485 |   0.0 |  99.1 |  31.8

 pipeworks:                                              |         1 |     91618 |       676 |   0.0 |  98.7 |  26.1
  - globalstep[1] .....................................  |         1 |     91605 |       675 |   0.0 |  98.7 |  26.0
  - on_activate[1] ....................................  |         1 |      1094 |         5 |   0.0 |  25.2 |   0.3
  - ABM[4] ............................................  |         7 |       558 |        21 |   0.0 |   8.0 |   0.6
  - get_staticdata[1] .................................  |         1 |       203 |        10 |   0.0 |  12.3 |   0.5
  - on_player_receive_fields[1] .......................  |         1 |       703 |         3 |   0.0 |  37.2 |   0.2
  - globalstep[2] .....................................  |         1 |     20142 |         2 |   0.0 |  95.2 |   0.2

 wielded_light:                                          |         0 |     90374 |       184 |   0.0 |  97.2 |   7.9
  - globalstep[1] .....................................  |         1 |     25805 |        50 |   0.0 |  97.2 |   2.6
  - on_punch[1] .......................................  |        20 |       529 |        55 |   0.0 |  14.2 |   2.7
  - on_activate[1] ....................................  |        10 |     18311 |        35 |   0.0 |  46.5 |   2.0
  - on_step[1] ........................................  |        11 |     90373 |       220 |   0.0 |  54.8 |   8.7
  - get_staticdata[1] .................................  |         8 |     14721 |        34 |   0.0 |  29.7 |   1.9

 unified_inventory:                                      |         0 |    139282 |        83 |   0.0 |  98.4 |   4.9
  - globalstep[1] .....................................  |         1 |     25816 |        79 |   0.0 |  96.9 |   4.8
  - on_player_receive_fields[2] .......................  |         1 |      4242 |        23 |   0.0 |  76.4 |   0.8
  - on_joinplayer[2] ..................................  |        33 |       632 |        78 |   0.1 |   3.2 |   0.4
  - on_joinplayer[1] ..................................  |     10480 |     47778 |     13314 |  39.0 |  79.7 |  59.5
  - on_player_receive_fields[3] .......................  |         1 |      3898 |       111 |   0.0 |  75.2 |   3.6
  - on_joinplayer[3] ..................................  |         3 |        35 |         5 |   0.0 |   0.1 |   0.0
  - on_player_receive_fields[1] .......................  |         2 |    139090 |      1140 |   0.0 |  98.3 |  13.7
  - on_leaveplayer[1] .................................  |         1 |        54 |         2 |   0.0 |   3.3 |   0.1

 default:                                                |         0 |     90147 |       126 |   0.0 |  94.2 |   4.9
  - on_leaveplayer[1] .................................  |         1 |        57 |         2 |   0.0 |   3.1 |   0.1
  - on_player_receive_fields[2] .......................  |         1 |       180 |         1 |   0.0 |  12.5 |   0.1
  - on_punch[1] .......................................  |        19 |       526 |        52 |   0.0 |  13.6 |   2.6
  - get_staticdata[1] .................................  |         7 |     14707 |        31 |   0.0 |  29.4 |   1.7
  - ABM 'Grass covered' ...............................  |         2 |     20655 |       201 |   0.0 |  93.8 |   8.5
  - ABM 'Lava cooling' ................................  |        18 |      1848 |        62 |   0.0 |  42.7 |   3.3
  - ABM 'Moss growth' .................................  |        10 |       160 |        31 |   0.0 |   4.5 |   1.4
  - on_craft[1] .......................................  |         1 |       100 |         4 |   0.0 |  10.0 |   0.3
  - on_joinplayer[1] ..................................  |         9 |        80 |        18 |   0.0 |   0.4 |   0.1
  - on_activate[1] ....................................  |         8 |     18307 |        31 |   0.0 |  46.5 |   1.7
  - ABM 'Grass spread' ................................  |         1 |      1891 |        77 |   0.0 |  56.5 |   4.0
  - on_player_receive_fields[1] .......................  |         1 |        64 |         1 |   0.0 |   3.6 |   0.1
  - on_step[1] ........................................  |        10 |     90147 |       203 |   0.0 |  49.4 |   7.9

 mobs_monster:                                           |         0 |    252398 |        78 |   0.0 |  99.4 |   4.1
  - ABM 'mobs_monster:spider spawning' ................  |        15 |     10445 |       606 |   0.0 |  77.3 |  21.8
  - ABM 'mobs_monster:lava_flan spawning' .............  |        19 |       955 |       153 |   0.1 |  48.2 |   8.4
  - on_activate[16] ...................................  |        38 |       686 |        89 |   0.1 |  20.2 |   3.4
  - on_punch[6] .......................................  |       199 |       405 |       302 |  26.1 |  28.4 |  27.3
  - on_punch[2] .......................................  |       187 |       924 |       341 |   0.3 |  39.9 |  15.9
  - on_activate[11] ...................................  |        30 |       117 |        55 |   0.7 |   5.7 |   2.8
  - on_activate[7] ....................................  |        21 |       808 |        64 |   0.0 |  23.1 |   2.2
  - get_staticdata[16] ................................  |        10 |       987 |        83 |   0.0 |  20.2 |   3.0
  - get_staticdata[9] .................................  |        11 |       898 |        81 |   0.0 |  18.6 |   3.0
  - on_punch[5] .......................................  |        75 |       871 |       226 |   1.9 |  45.8 |  13.1
  - ABM 'mobs_monster:stone_monster spawning' .........  |        13 |     12922 |       554 |   0.0 |  61.0 |  15.5
  - on_activate[9] ....................................  |        19 |       631 |        62 |   0.1 |  11.8 |   2.2
  - on_step[9] ........................................  |         1 |     23374 |        19 |   0.0 |  94.8 |   1.1
  - on_punch[9] .......................................  |       136 |      1159 |       363 |   0.7 |  40.2 |  16.7
  - ABM 'mobs_monster:tree_monster spawning' ..........  |        26 |      3895 |       239 |   0.1 |  44.2 |   9.9
  - on_step[5] ........................................  |         2 |     20020 |        21 |   0.0 |  94.8 |   1.2
  - get_staticdata[3] .................................  |         9 |       826 |        70 |   0.0 |  19.1 |   2.2
  - on_punch[10] ......................................  |         2 |         2 |         2 |   0.1 |   0.2 |   0.1
  - ABM 'mobs_monster:dirt_monster spawning' ..........  |       501 |       501 |       501 |  14.2 |  14.2 |  14.2
  - get_staticdata[11] ................................  |        15 |       234 |        70 |   0.1 |   9.4 |   3.2
  - on_step[2] ........................................  |         2 |    176965 |        43 |   0.0 |  99.3 |   2.3
  - on_punch[4] .......................................  |       172 |      1152 |       376 |   1.6 |  36.0 |  17.9
  - ABM 'mobs_monster:mese_monster spawning' ..........  |        13 |     18254 |       765 |   0.0 |  90.4 |  24.6
  - ABM 'mobs_monster:oerkki spawning' ................  |        11 |     12691 |       516 |   0.0 |  57.5 |  14.1
  - on_step[11] .......................................  |         1 |     21331 |        28 |   0.0 |  95.0 |   1.7
  - on_activate[3] ....................................  |        19 |       749 |        55 |   0.0 |  15.9 |   2.0
  - on_step[4] ........................................  |         2 |    252004 |        28 |   0.0 |  98.8 |   1.5
  - on_punch[11] ......................................  |       116 |      1290 |       353 |   1.1 |  56.6 |  16.1
  - get_staticdata[7] .................................  |        11 |       970 |        73 |   0.0 |  15.1 |   2.3
  - on_step[6] ........................................  |         2 |     17728 |        18 |   0.0 |  97.8 |   1.3
  - get_staticdata[14] ................................  |         9 |       769 |        79 |   0.0 |  16.5 |   2.6
  - on_step[10] .......................................  |        14 |      1178 |       119 |   0.0 |  38.7 |   6.9
  - on_activate[14] ...................................  |        19 |      1755 |        69 |   0.0 |  20.3 |   2.4
 
 player_api:                                             |         0 |     25900 |        60 |   0.0 |  95.7 |   3.7
  - globalstep[1] .....................................  |         1 |     25900 |        60 |   0.0 |  95.7 |   3.7
  - on_leaveplayer[1] .................................  |         1 |        59 |         2 |   0.0 |   0.9 |   0.1
  - on_joinplayer[2] ..................................  |        17 |       100 |        35 |   0.0 |   0.5 |   0.2
  - on_joinplayer[1] ..................................  |         1 |        14 |         2 |   0.0 |   0.1 |   0.0

 poshud:                                                 |         2 |     24354 |        47 |   0.0 |  95.8 |   3.2
  - globalstep[1] .....................................  |         2 |     24354 |        47 |   0.0 |  95.8 |   3.2
  - on_leaveplayer[1] .................................  |         1 |       394 |         6 |   0.0 |   5.0 |   0.2

 mobs_fish:                                              |         0 |     25741 |        42 |   0.0 |  96.7 |   2.4
  - on_step[2] ........................................  |         1 |     25700 |        26 |   0.0 |  96.6 |   1.5
  - on_punch[1] .......................................  |       101 |       101 |       101 |   1.2 |   1.2 |   1.2
  - get_staticdata[1] .................................  |        11 |      4284 |        92 |   0.0 |  20.9 |   3.7
  - ABM 'mobs_fish:clownfish spawning' ................  |        19 |      2075 |       279 |   0.0 |  52.4 |  11.2
  - on_punch[2] .......................................  |       159 |       159 |       159 |   5.0 |   5.0 |   5.0
  - ABM 'mobs_fish:tropical spawning' .................  |        23 |      6349 |       299 |   0.0 |  54.0 |  12.6
  - on_activate[1] ....................................  |        21 |      4383 |        78 |   0.0 |  22.6 |   3.2
  - on_step[1] ........................................  |         1 |     23007 |        28 |   0.0 |  96.0 |   1.6
  - on_activate[2] ....................................  |        21 |      3581 |        80 |   0.1 |  32.1 |   3.2
  - get_staticdata[2] .................................  |         9 |      3903 |        98 |   0.0 |  27.7 |   3.8

 mobs_animal:                                            |         0 |     24419 |        26 |   0.0 |  97.3 |   1.4
  - on_step[23] .......................................  |         3 |      1525 |        23 |   0.0 |  42.5 |   1.1
  - on_punch[3] .......................................  |         2 |       524 |       211 |   0.1 |  20.1 |  10.2
  - on_rightclick[22] .................................  |        29 |        43 |        36 |   1.5 |   4.0 |   2.7
  - get_staticdata[38] ................................  |        73 |       884 |       216 |   0.2 |  34.3 |   7.5
  - get_staticdata[5] .................................  |         9 |       870 |        76 |   0.0 |  24.6 |   2.6
  - on_step[20] .......................................  |         3 |      2321 |        27 |   0.0 |  50.3 |   1.7
  - on_activate[40] ...................................  |        32 |       326 |        70 |   0.1 |   8.2 |   2.9
  - on_step[4] ........................................  |         2 |     24419 |        27 |   0.0 |  96.8 |   1.5
  - ABM 'mobs_animal:bee spawning' ....................  |        30 |      1107 |       319 |   0.3 |  36.6 |  14.1
  - on_step[18] .......................................  |         2 |     19522 |        23 |   0.0 |  91.6 |   1.4
  - ABM 'mobs_animal:chicken spawning' ................  |        28 |        28 |        28 |   2.0 |   2.0 |   2.0
  - ABM 'mobs_animal:kitten spawning' .................  |        31 |       937 |       287 |   0.4 |  53.6 |  12.4
  - on_step[21] .......................................  |         2 |       570 |        13 |   0.0 |  36.2 |   0.9
  - get_staticdata[1] .................................  |        52 |      1394 |       202 |   0.2 |  30.3 |   5.8
  - on_rightclick[21] .................................  |        31 |        31 |        31 |   1.9 |   2.5 |   2.2
  - on_rightclick[1] ..................................  |        25 |       179 |        53 |   0.3 |  24.7 |   5.6
  - on_rightclick[2] ..................................  |       141 |       306 |       209 |   9.9 |  25.7 |  19.1
  - get_staticdata[33] ................................  |        12 |       900 |        84 |   0.1 |  19.1 |   3.3
  - ABM 'mobs_animal:panda spawning' ..................  |        35 |       178 |       106 |   0.1 |   1.0 |   0.5
  - get_staticdata[3] .................................  |        13 |       339 |        79 |   0.0 |  26.0 |   3.1
  - on_rightclick[3] ..................................  |        73 |       136 |       104 |   6.1 |   6.4 |   6.2
  - on_activate[1] ....................................  |        54 |       196 |       105 |   0.2 |   7.3 |   3.0
  - get_staticdata[44] ................................  |        13 |       558 |        71 |   0.1 |  18.3 |   2.8
  - on_activate[38] ...................................  |        71 |       693 |       154 |   0.7 |  12.4 |   4.5
  - on_step[1] ........................................  |         2 |     16725 |        22 |   0.0 |  96.2 |   1.4
  - get_staticdata[42] ................................  |        67 |       355 |       144 |   0.2 |  20.8 |   4.8
  - on_punch[4] .......................................  |       195 |       419 |       300 |   3.2 |  19.5 |  13.0
  - on_activate[42] ...................................  |        53 |       194 |       106 |   0.2 |  13.2 |   3.7
  - get_staticdata[40] ................................  |        16 |       452 |        89 |   0.1 |  12.5 |   4.0
  - on_step[22] .......................................  |         3 |      2348 |        25 |   0.0 |  61.7 |   1.7
  - ABM[1] ............................................  |         1 |       126 |         8 |   0.0 |   7.3 |   0.5
  - ABM 'mobs_animal:rat spawning' ....................  |        19 |      5454 |       457 |   0.1 |  68.7 |  17.1
  - on_activate[33] ...................................  |        23 |       285 |        64 |   0.0 |  14.9 |   2.7
  - on_activate[5] ....................................  |        21 |       739 |        57 |   0.0 |  24.7 |   2.1
  - ABM 'mobs_animal:sheep_white spawning' ............  |        25 |      1616 |       240 |   0.0 |  38.2 |  10.5
  - ABM 'mobs_animal:cow spawning' ....................  |        27 |       771 |       192 |   0.2 |  39.2 |   8.1
  - on_activate[3] ....................................  |        31 |       263 |        70 |   0.0 |  14.3 |   2.6
  - on_activate[44] ...................................  |        26 |       166 |        57 |   0.1 |   9.5 |   2.3
  - on_rightclick[17] .................................  |        82 |       304 |       138 |   2.5 |  17.6 |   6.7
  - on_punch[23] ......................................  |       165 |       165 |       165 |   2.2 |   2.2 |   2.2
  - on_step[3] ........................................  |         1 |     20300 |        27 |   0.0 |  97.2 |   1.7

 areas:                                                  |         0 |    253457 |        12 |   0.0 |  99.3 |   0.8
  - on_step[2] ........................................  |         1 |        72 |         1 |   0.0 |  11.0 |   0.2
  - /area_pos2 ........................................  |        61 |       126 |       103 |   9.1 |  16.9 |  13.2
  - on_punch[1] .......................................  |        34 |        34 |        34 |   2.4 |   2.4 |   2.4
  - on_protection_violation[1] ........................  |        15 |       345 |        69 |   0.1 |  22.2 |   5.1
  - globalstep[1] .....................................  |         1 |     26889 |        12 |   0.0 |  93.9 |   0.8
  - /protect ..........................................  |     23258 |    253453 |    106590 |  96.7 |  99.3 |  97.9
  - /area_pos1 ........................................  |        96 |       158 |       117 |   3.1 |  22.8 |  11.4
  - on_step[1] ........................................  |         1 |        78 |         1 |   0.0 |   9.2 |   0.2
  - on_punchnode[1] ...................................  |         1 |       365 |         4 |   0.0 |  18.1 |   0.2
  - on_leaveplayer[1] .................................  |         1 |        58 |         2 |   0.0 |   1.4 |   0.1

 techage:                                                |         0 |      2993 |         6 |   0.0 |  51.0 |   0.5
  - LBM 'Upgrade reactor' .............................  |        13 |       107 |        32 |   0.0 |   4.2 |   1.2
  - on_leaveplayer[3] .................................  |         3 |        22 |         4 |   0.0 |   0.7 |   0.2
  - /my_expoints ......................................  |        18 |        18 |        18 |   2.2 |   2.2 |   2.2
  - on_activate[4] ....................................  |        80 |       304 |       159 |   1.2 |  16.6 |   7.2
  - LBM 'Repair Tanks' ................................  |         2 |       146 |        11 |   0.0 |  10.5 |   0.4
  - on_dieplayer[1] ...................................  |         2 |        40 |         6 |   0.0 |   1.2 |   0.2
  - on_joinplayer[1] ..................................  |        12 |      2785 |        90 |   0.0 |  12.3 |   0.4
  - on_player_receive_fields[1] .......................  |         1 |        61 |         1 |   0.0 |   5.1 |   0.1
  - on_leaveplayer[2] .................................  |        11 |       206 |        34 |   0.0 |  10.2 |   1.3
  - on_punchnode[3] ...................................  |         1 |       890 |         3 |   0.0 |  36.9 |   0.2
  - globalstep[1] .....................................  |         1 |      1141 |         2 |   0.0 |  45.5 |   0.2
  - on_step[4] ........................................  |         1 |      1065 |         2 |   0.0 |  42.7 |   0.1
  - LBM '[techage] Lighter update' ....................  |        44 |       131 |        79 |   0.2 |  10.3 |   3.6
  - on_punchnode[2] ...................................  |         1 |       688 |         3 |   0.0 |  48.7 |   0.2
  - on_leaveplayer[1] .................................  |         1 |        53 |         2 |   0.0 |   3.0 |   0.1
  - LBM '[TechAge] Node update' .......................  |         3 |      1970 |       115 |   0.0 |  48.5 |   2.8
  - globalstep[2] .....................................  |         1 |      1813 |         1 |   0.0 |  49.6 |   0.2
  - LBM 'Restart Lamp' ................................  |         1 |        11 |         4 |   0.0 |   0.3 |   0.1
  - on_step[5] ........................................  |         1 |       712 |         1 |   0.0 |  25.4 |   0.1
  - on_dieplayer[3] ...................................  |         1 |        97 |         9 |   0.0 |   2.3 |   0.2
  - on_activate[1] ....................................  |         1 |        69 |         2 |   0.0 |   3.2 |   0.1
  - on_step[1] ........................................  |         1 |        97 |         4 |   0.0 |   8.4 |   0.4
  - on_punchnode[1] ...................................  |         1 |      1169 |         3 |   0.0 |  16.5 |   0.2
  - on_leaveplayer[4] .................................  |         1 |        29 |         2 |   0.0 |   2.0 |   0.1
  - on_joinplayer[4] ..................................  |         1 |        59 |         2 |   0.0 |   0.3 |   0.0
  - on_joinplayer[3] ..................................  |         1 |        40 |         2 |   0.0 |   0.1 |   0.0
  - get_staticdata[4] .................................  |       273 |       883 |       438 |   4.3 |  29.1 |  19.1
  - on_step[11] .......................................  |         3 |       233 |        38 |   0.0 |  10.1 |   2.6
  - on_leaveplayer[5] .................................  |         1 |        35 |         2 |   0.0 |   2.7 |   0.1
  - get_staticdata[1] .................................  |         1 |        28 |         1 |   0.0 |   2.7 |   0.0
  - on_joinplayer[2] ..................................  |         2 |        13 |         3 |   0.0 |   0.1 |   0.0
  - on_punchnode[4] ...................................  |         1 |      1566 |         3 |   0.0 |  22.9 |   0.2
  - on_dieplayer[2] ...................................  |         2 |         5 |         3 |   0.0 |   0.2 |   0.1
  - on_dignode[1] .....................................  |         1 |      2470 |         3 |   0.0 |  39.7 |   0.2
  - LBM '[techage] Steam engine firebox' ..............  |         2 |        79 |         9 |   0.0 |   7.3 |   0.3
  - on_step[2] ........................................  |         1 |       316 |         2 |   0.0 |  31.9 |   0.2

 postool:                                                |         1 |      1773 |         5 |   0.0 |  65.9 |   0.5
  - globalstep[1] .....................................  |         1 |      1773 |         5 |   0.0 |  65.9 |   0.5
  - on_leaveplayer[1] .................................  |         3 |       411 |        10 |   0.0 |   0.7 |   0.3
  - on_player_receive_fields[1] .......................  |         1 |        94 |         1 |   0.0 |   4.2 |   0.1
  - on_joinplayer[1] ..................................  |         9 |       267 |        29 |   0.0 |   0.6 |   0.1
 
 xp_redo:                                                |         0 |     33102 |         8 |   0.0 |  98.1 |   0.5
  - on_leaveplayer[1] .................................  |         2 |       113 |         5 |   0.0 |   4.7 |   0.2
  - on_craft[2] .......................................  |         2 |       347 |        15 |   0.0 |  20.7 |   1.1
  - on_dignode[1] .....................................  |         1 |      1353 |        13 |   0.0 |  52.2 |   0.6
  - on_dieplayer[2] ...................................  |         7 |        63 |        19 |   0.0 |   1.9 |   0.5
  - on_craft[1] .......................................  |         5 |       501 |        23 |   0.0 |  23.2 |   1.6
  - globalstep[2] .....................................  |         1 |     17899 |         2 |   0.0 |  86.4 |   0.1
  - globalstep[1] .....................................  |         1 |     18332 |         2 |   0.0 |  78.3 |   0.2
  - on_dieplayer[1] ...................................  |         5 |        14 |         7 |   0.0 |   0.4 |   0.2
  - on_dignode[2] .....................................  |         1 |       740 |        28 |   0.0 |  30.4 |   1.5
  - on_joinplayer[1] ..................................  |        21 |       365 |        43 |   0.1 |   1.3 |   0.2
  - on_placenode[1] ...................................  |         2 |       214 |        11 |   0.0 |   8.8 |   0.6
  - on_placenode[2] ...................................  |         1 |       259 |        18 |   0.0 |  11.9 |   0.9
  - globalstep[3] .....................................  |         1 |     33099 |         3 |   0.0 |  98.0 |   0.2
  - on_leaveplayer[2] .................................  |         1 |        76 |         3 |   0.0 |   1.6 |   0.1
 

 flowers:                                                |         0 |        38 |         0 |   0.0 |   1.6 |   0.0
  - ABM 'Mushroom spread' .............................  |         2 |        38 |        10 |   0.0 |   1.6 |   0.4

 anvil:                                                  |         0 |        97 |         0 |   0.0 |   8.3 |   0.0
  - on_activate[1] ....................................  |         4 |        46 |         7 |   0.0 |   2.4 |   0.3
  - LBM 'anvil:anvil_item_restoration' ................  |         3 |        97 |        32 |   0.0 |   8.3 |   0.8
  - get_staticdata[1] .................................  |         1 |        39 |         2 |   0.0 |   2.3 |   0.1

 hec_nopvp:                                              |         0 |       771 |         0 |   0.0 |  27.6 |   0.0
  - on_punchplayer[1] .................................  |       152 |       771 |       302 |   0.3 |  27.6 |  11.6

 cavestuff:                                              |         0 |     14162 |         0 |   0.0 |  23.0 |   0.0
  - on_generated[1] ...................................  |         1 |     14162 |       122 |   0.0 |  23.0 |   0.2

 spacesuit:                                              |         0 |     24647 |        23 |   0.0 |  94.9 |   0.9
  - globalstep[1] .....................................  |         1 |     24647 |        25 |   0.0 |  94.9 |   0.9
  - on_leaveplayer[1] .................................  |         1 |        46 |         2 |   0.0 |   0.5 |   0.1

 mesecons_detector:                                      |         0 |       648 |         0 |   0.0 |  33.3 |   0.0
  - ABM[2] ............................................  |        35 |       210 |        73 |   0.0 |  12.4 |   3.4
  - ABM[1] ............................................  |        17 |       648 |        45 |   0.0 |  33.3 |   1.8

 xpanes:                                                 |         0 |     21511 |         0 |   0.0 |  78.9 |   0.0
  - on_placenode[1] ...................................  |         5 |      2840 |        48 |   0.0 |  44.4 |   2.0
  - on_dignode[1] .....................................  |         2 |     21511 |        37 |   0.0 |  78.9 |   1.5

 names_per_ip:                                           |         0 |       455 |         0 |   0.0 |  25.2 |   0.0

 homedecor_lighting:                                     |         0 |       137 |         0 |   0.0 |   9.6 |   0.0

 atm:                                                    |         0 |     12354 |         2 |   0.0 |  95.0 |   0.1
  - globalstep[1] .....................................  |         1 |     12354 |         1 |   0.0 |  95.0 |   0.1
  - on_player_receive_fields[2] .......................  |         1 |       281 |         1 |   0.0 |   9.9 |   0.1
  - on_player_receive_fields[1] .......................  |         1 |     12042 |       172 |   0.0 |  93.1 |   2.4
  - on_joinplayer[1] ..................................  |      3100 |      5602 |      3512 |   7.4 |  22.9 |  16.4

 mesecons_fpga:                                          |         0 |       848 |         0 |   0.0 |  18.6 |   0.0

 mtg_craftguide:                                         |         0 |        81 |         0 |   0.0 |   1.6 |   0.0

 hec_nether:                                             |         0 |        33 |         0 |   0.0 |   0.1 |   0.0

 spawn_command:                                          |         0 |        87 |         0 |   0.0 |  10.9 |   0.0

 weather:                                                |         0 |       754 |         0 |   0.0 |   1.6 |   0.0

 binoculars:                                             |         0 |       611 |         0 |   0.0 |   2.6 |   0.0

 crafting:                                               |         0 |     17439 |         0 |   0.0 |  82.5 |   0.0

 boats:                                                  |         0 |       129 |         0 |   0.0 |   7.1 |   0.0
  - on_activate[1] ....................................  |         3 |        10 |         6 |   0.1 |   0.6 |   0.3
  - on_step[1] ........................................  |         3 |       129 |        11 |   0.0 |   7.1 |   1.0
  - get_staticdata[1] .................................  |         1 |         5 |         2 |   0.0 |   0.5 |   0.1

 fire:                                                   |         0 |    472414 |        23 |   0.0 |  99.7 |   0.7
  - globalstep[1] .....................................  |         1 |    472414 |        25 |   0.0 |  99.7 |   0.8
  - on_leaveplayer[1] .................................  |         1 |        89 |         4 |   0.0 |   5.1 |   0.2

 map:                                                    |         0 |       296 |         0 |   0.0 |   0.8 |   0.0
  - on_joinplayer[1] ..................................  |        46 |       296 |        75 |   0.1 |   0.8 |   0.3

 homedecor_misc:                                         |         0 |      1239 |         0 |   0.0 |  21.1 |   0.0
  - on_placenode[1] ...................................  |         1 |      1239 |         7 |   0.0 |  21.1 |   0.3

 mesecons:                                               |         0 |     22096 |         2 |   0.0 |  94.0 |   0.2
  - globalstep[1] .....................................  |         1 |         3 |         1 |   0.1 |   3.6 |   2.0
  - on_dignode[1] .....................................  |         5 |     22094 |        27 |   0.0 |  94.0 |   1.2
  - on_placenode[1] ...................................  |         5 |      7372 |        44 |   0.0 |  60.4 |   1.8
  - globalstep[2] .....................................  |         1 |      1419 |         1 |   0.0 |  66.0 |   0.2

 flowers_plus:                                           |         0 |      5272 |         0 |   0.0 |  67.7 |   0.0
  - ..._on_surfaces(): random: flowers:waterlily, ...'   |        12 |      5272 |       436 |   0.0 |  67.7 |  15.5
  - ...wn_on_surfaces(): random: flowers:seaweed, ...'   |        11 |       414 |        70 |   0.1 |  15.4 |   3.2
  - ..._on_surfaces(): random: flowers:sunflower, ...'   |        12 |       519 |        97 |   0.0 |  27.1 |   4.2

 farming:                                                |         0 |    213586 |        59 |   0.0 |  99.4 |   0.2
  - ABM[1] ............................................  |         6 |      4672 |       333 |   0.0 |  82.8 |  11.2
  - ABM[2] ............................................  |        60 |    213586 |     23583 |   0.2 |  99.4 |  88.6
  - on_generated[1] ...................................  |         1 |     38885 |      3922 |   0.0 |  34.6 |   8.3

 beerchat:                                               |         0 |     19799 |         0 |   0.0 |  57.1 |   0.0
  - on_leaveplayer[1] .................................  |         1 |        70 |         3 |   0.0 |   0.7 |   0.1
  - /me ...............................................  |        15 |       673 |       344 |   1.4 |   8.0 |   4.7
  - on_chat_message[1] ................................  |        16 |        83 |        33 |   0.0 |   5.6 |   1.6
  - on_chat_message[4] ................................  |        75 |     19749 |       603 |   0.1 |  55.4 |  20.8
  - on_chat_message[2] ................................  |         1 |       227 |         8 |   0.0 |  21.8 |   0.5
  - /msg ..............................................  |       113 |       113 |       113 |  11.7 |  11.7 |  11.7
  - /jc ...............................................  |         2 |         2 |         2 |   0.1 |   0.1 |   0.1
  - /ignore ...........................................  |        20 |        77 |        38 |   0.3 |   3.6 |   2.2
  - on_joinplayer[1] ..................................  |        17 |       161 |        32 |   0.0 |   0.8 |   0.2
  - on_chat_message[3] ................................  |         1 |        54 |         1 |   0.0 |   3.8 |   0.1
  - /join_channel .....................................  |         4 |         4 |         4 |   0.3 |   0.3 |   0.3
  - /mute .............................................  |        18 |        75 |        35 |   0.3 |   3.3 |   2.0
  - /force2channel ....................................  |         6 |       141 |        73 |   0.1 |  10.6 |   4.8

 creative:                                               |         0 |      2099 |         0 |   0.0 |  45.3 |   0.0
  - on_placenode[1] ...................................  |         2 |      2099 |        59 |   0.0 |  45.3 |   2.9

 homedecor_books:                                        |         0 |        74 |         0 |   0.0 |   4.0 |   0.0
  - on_player_receive_fields[1] .......................  |         1 |        74 |         1 |   0.0 |   4.0 |   0.1

 biome_lib:                                              |         0 |    821268 |        30 |   0.0 |  99.8 |   0.3
  - globalstep[1] .....................................  |         1 |    821268 |        30 |   0.0 |  99.8 |   0.3
  - on_generated[1] ...................................  |         1 |       326 |         5 |   0.0 |   0.8 |   0.0

 digtron:                                                |         0 |     21137 |         0 |   0.0 |  91.8 |   0.0
  - on_activate[5] ....................................  |        18 |      3628 |       203 |   0.0 |  65.5 |   6.0
  - on_player_receive_fields[2] .......................  |         1 |       801 |         2 |   0.0 |  35.0 |   0.1
  - on_activate[3] ....................................  |         5 |       175 |        93 |   0.1 |   0.7 |   0.5
  - get_staticdata[1] .................................  |         7 |     13973 |       118 |   0.0 |  73.3 |   3.0
  - on_player_receive_fields[3] .......................  |         1 |     20533 |        22 |   0.0 |  89.9 |   0.2
  - on_activate[1] ....................................  |        18 |        24 |        21 |   0.6 |   1.1 |   0.8
  - on_player_receive_fields[1] .......................  |         1 |        97 |         1 |   0.0 |   8.2 |   0.1
  - on_activate[2] ....................................  |         6 |        12 |         9 |   0.2 |   0.5 |   0.4

 poisonivy:                                              |         0 |     18127 |         0 |   0.0 |  88.5 |   0.0
  - ABM 'biome_lib grow_plants(): poisonivy:climbing' .  |        35 |        35 |        35 |   2.3 |   2.3 |   2.3
  - ABM 'biome_lib grow_plants(): poisonivy:seedling' .  |        39 |        62 |        50 |   1.3 |   3.5 |   2.4
  - ...on_surfaces(): random: poisonivy:seedling, ...'   |        12 |     18127 |       466 |   0.1 |  88.5 |  12.8

 unifieddyes:                                            |         0 |       311 |         0 |   0.0 |   6.9 |   0.0
  - on_player_receive_fields[1] .......................  |         1 |        69 |         1 |   0.0 |   3.5 |   0.1
  - on_placenode[1] ...................................  |         1 |       311 |         3 |   0.0 |   6.9 |   0.2

 basic_robot:                                            |         0 |     24550 |        16 |   0.0 |  94.2 |   0.3
  - on_player_receive_fields[2] .......................  |         1 |       176 |         5 |   0.0 |   6.1 |   0.1
  - on_rightclick[1] ..................................  |        41 |       116 |        67 |   1.4 |   7.7 |   4.5
  - on_activate[1] ....................................  |         1 |        41 |        10 |   0.0 |   3.4 |   0.7
  - on_player_receive_fields[3] .......................  |         1 |      1314 |         6 |   0.0 |  54.6 |   0.3
  - on_step[1] ........................................  |         1 |     24550 |        99 |   0.0 |  94.2 |   1.5
  - on_player_receive_fields[1] .......................  |         1 |        80 |         1 |   0.0 |   4.8 |   0.1
  - get_staticdata[1] .................................  |         1 |        35 |         1 |   0.0 |   1.4 |   0.1

 mail:                                                   |         0 |     10008 |         0 |   0.0 |  90.3 |   0.0

 minetest_remover:                                       |         0 |       263 |         0 |   0.0 |  17.6 |   0.0

 ethereal:                                               |         0 |     22913 |         1 |   0.0 |  90.5 |   0.0

 woodcutting:                                            |         0 |     26234 |         1 |   0.0 |  92.6 |   0.1
  - on_leaveplayer[1] .................................  |         1 |        73 |         3 |   0.0 |   0.5 |   0.1
  - on_dieplayer[1] ...................................  |         1 |         5 |         2 |   0.0 |   0.1 |   0.1
  - on_dignode[1] .....................................  |         1 |     26234 |       139 |   0.0 |  92.6 |   4.5
  - on_joinplayer[1] ..................................  |         3 |       120 |         5 |   0.0 |   0.3 |   0.0

 mesecons_torch:                                         |         0 |       490 |         0 |   0.0 |  25.1 |   0.0

 bones:                                                  |         0 |      1620 |         0 |   0.0 |  48.8 |   0.0

 hec_diamaster:                                          |         0 |       120 |         0 |   0.0 |  10.0 |   0.0

 u_skins:                                                |         0 |      4732 |         1 |   0.0 |  86.0 |   0.1
  - globalstep[1] .....................................  |         1 |      4732 |         1 |   0.0 |  86.0 |   0.1
  - on_player_receive_fields[1] .......................  |         1 |      2706 |        22 |   0.0 |  65.8 |   0.8
  - on_joinplayer[1] ..................................  |         8 |        46 |        15 |   0.0 |   0.2 |   0.1

 sightview:                                              |         0 |       109 |         0 |   0.0 |   4.6 |   0.0

 server_news:                                            |         0 |      3835 |         0 |   0.0 |  77.9 |   0.0

 env_sounds:                                             |         0 |       619 |         0 |   0.0 |   3.0 |   0.0

 ??:                                                     |         0 |       225 |         0 |   0.0 |   0.7 |   0.0

 technic_worldgen:                                       |         0 |    106173 |         7 |   0.0 |  97.5 |   0.0

 butterflies:                                            |         0 |      1221 |         0 |   0.0 |   1.6 |   0.0

 torches:                                                |         0 |       296 |         0 |   0.0 |  17.1 |   0.0

 dungeon_loot:                                           |         0 |      4547 |         0 |   0.0 |   7.5 |   0.0

 beowulf:                                                |         0 |       367 |         0 |   0.0 |   4.6 |   0.0

 fireflies:                                              |         0 |      1393 |         0 |   0.0 |   1.3 |   0.0
  - on_generated[1] ...................................  |         1 |      1393 |         6 |   0.0 |   1.3 |   0.0

 nether:                                                 |         0 |    181733 |         0 |   0.0 |  84.7 |   0.0
  - on_generated[1] ...................................  |         1 |    181706 |      2460 |   0.0 |  84.7 |   1.9
  - LBM 'Start fumarole smoke' ........................  |        12 |       165 |        31 |   0.0 |   6.4 |   1.0
  - on_dieplayer[1] ...................................  |         1 |         2 |         1 |   0.0 |   0.1 |   0.0

 nature_classic:                                         |         0 |      4327 |         2 |   0.0 |  65.2 |   0.2
  - globalstep[1] .....................................  |         1 |      4327 |         2 |   0.0 |  65.2 |   0.2
  - ABM[1] ............................................  |         1 |         5 |         2 |   0.0 |   0.3 |   0.1

 hec_vicount:                                            |         0 |       266 |         0 |   0.0 |   1.2 |   0.0
  - on_newplayer[1] ...................................  |       116 |       266 |       181 |   0.5 |   1.2 |   0.9

 homedecor_gastronomy:                                   |         0 |      2486 |         0 |   0.0 |  50.2 |   0.0
  - ABM 'sfx' .........................................  |        10 |      2486 |        46 |   0.0 |  50.2 |   1.7

 homedecor_kitchen:                                      |         0 |      6521 |         0 |   0.0 |  86.8 |   0.0
  - ABM 'furnaces' ....................................  |        38 |      6521 |       167 |   0.0 |  86.8 |   6.4

 3d_armor_stand:                                         |         0 |      5550 |         2 |   0.0 |  82.5 |   0.1
  - on_activate[1] ....................................  |        42 |      5550 |       375 |   0.1 |  57.6 |   8.4
  - ABM[1] ............................................  |        43 |      4161 |       807 |   0.1 |  82.5 |  26.5

 carts:                                                  |         0 |     17869 |         1 |   0.0 |  95.9 |   0.1
  - on_activate[1] ....................................  |         8 |       272 |        27 |   0.0 |   9.3 |   1.6
  - on_step[1] ........................................  |         1 |     17869 |         5 |   0.0 |  95.9 |   0.5
  - get_staticdata[1] .................................  |        11 |       308 |        33 |   0.0 |  23.4 |   2.0

 markers:                                                |         0 |        62 |         0 |   0.0 |   4.5 |   0.0
  - on_player_receive_fields[1] .......................  |         1 |        62 |         1 |   0.0 |   4.5 |   0.1

 mesecons_receiver:                                      |         0 |       850 |         0 |   0.0 |  15.9 |   0.0
  - on_placenode[1] ...................................  |         1 |       577 |         3 |   0.0 |   5.3 |   0.2
  - on_placenode[2] ...................................  |         1 |        72 |         3 |   0.0 |   5.8 |   0.2
  - on_dignode[1] .....................................  |         1 |       541 |         4 |   0.0 |  13.9 |   0.2

 hud:                                                    |         0 |     20330 |         0 |   0.0 |  77.7 |   0.0
  - playerevent[1] ....................................  |         2 |     20330 |        69 |   0.0 |  77.7 |   2.9
  - on_joinplayer[1] ..................................  |        42 |       430 |        67 |   0.1 |   2.1 |   0.3

 digilines:                                              |         0 |      2450 |         0 |   0.0 |  43.5 |   0.0
  - on_activate[1] ....................................  |        27 |      1279 |       348 |   0.2 |  35.1 |   8.5
  - LBM 'Replace Missing Text Entities' ...............  |        16 |       144 |        44 |   0.0 |   4.4 |   1.1
  - on_placenode[1] ...................................  |         1 |      2202 |         6 |   0.0 |  27.3 |   0.3
  - on_dignode[1] .....................................  |         1 |       993 |         6 |   0.0 |  43.5 |   0.3

 beacon:                                                 |         0 |     21511 |         5 |   0.0 |  91.9 |   0.2
  - globalstep[1] .....................................  |         1 |     21511 |         5 |   0.0 |  91.9 |   0.2
  - LBM 'Floating beacon beam cleanup' ................  |         3 |      2350 |       126 |   0.0 |  34.1 |   3.1
  - on_leaveplayer[1] .................................  |         2 |      5536 |       632 |   0.0 |  86.0 |  11.4
  - on_joinplayer[1] ..................................  |         1 |       133 |         4 |   0.0 |   0.3 |   0.0

 sethome:                                                |         0 |       232 |         0 |   0.0 |  18.4 |   0.0
  - /home .............................................  |        32 |       232 |        61 |   0.1 |  18.4 |   3.7
  - /sethome ..........................................  |        18 |        26 |        20 |   1.6 |   2.5 |   2.0

 mesecons_solarpanel:                                    |         0 |       175 |         0 |   0.0 |   7.2 |   0.0
  - ABM 'Solar Panel On/Off' ..........................  |         1 |       175 |         3 |   0.0 |   7.2 |   0.2

 jumpdrive:                                              |         0 |       431 |         1 |   0.0 |  41.0 |   0.1
  - globalstep[1] .....................................  |         1 |       431 |         1 |   0.0 |  41.0 |   0.1
  - on_generated[1] ...................................  |         1 |        73 |         3 |   0.0 |   0.2 |   0.0

 spectator_mode:                                         |         0 |       521 |         0 |   0.0 |  22.3 |   0.0
  - on_leaveplayer[1] .................................  |        58 |       521 |       122 |   0.3 |  22.3 |   5.3

 xdecor:                                                 |         0 |      1817 |         0 |   0.0 |  28.8 |   0.0

 stats:                                                  |         0 |    250124 |        50 |   0.0 |  99.9 |   0.2
  - globalstep[1] .....................................  |         1 |    250124 |        51 |   0.0 |  99.9 |   0.2
  - on_dieplayer[1] ...................................  |         1 |         5 |         3 |   0.0 |   0.2 |   0.1
  - on_dignode[1] .....................................  |         1 |      1145 |         5 |   0.0 |  44.8 |   0.3
  - on_placenode[1] ...................................  |         2 |      1251 |         6 |   0.0 |  35.0 |   0.3
  - on_craft[1] .......................................  |         2 |       255 |        11 |   0.0 |  13.9 |   0.7

 fancy_vend:                                             |         0 |     61581 |         0 |   0.0 |  96.2 |   0.0

 homedecor_wardrobe:                                     |         0 |        26 |         0 |   0.0 |   0.1 |   0.0

 hyperloop:                                              |         0 |       716 |         0 |   0.0 |  26.4 |   0.0

 nyancat:                                                |         0 |      2911 |         0 |   0.0 |   8.4 |   0.0

 border:                                                 |         0 |    277266 |         0 |   0.0 |  98.7 |   0.0

 mobs_bat:                                               |         0 |     19446 |         5 |   0.0 |  94.9 |   0.3
  - on_punch[1] .......................................  |       107 |       415 |       213 |   1.2 |  28.7 |  10.8
  - on_activate[1] ....................................  |        22 |      2937 |        75 |   0.0 |  24.1 |   2.7
  - ABM 'mobs_bat:bat spawning' .......................  |        13 |      4605 |       290 |   0.1 |  60.1 |  10.9
  - get_staticdata[1] .................................  |         9 |      1301 |        82 |   0.0 |  18.5 |   2.8
  - on_step[1] ........................................  |         1 |     19446 |        16 |   0.0 |  94.9 |   0.8
 
 protector:                                              |         0 |    477826 |        16 |   0.0 |  99.8 |   0.5
  - globalstep[1] .....................................  |         1 |    477826 |        16 |   0.0 |  99.8 |   0.5
  - on_player_receive_fields[2] .......................  |         1 |      1253 |        31 |   0.0 |  54.3 |   1.4
  - on_step[1] ........................................  |         1 |        85 |         1 |   0.0 |   8.1 |   0.1
  - ABM[1] ............................................  |         1 |      2492 |        80 |   0.0 |  44.0 |   4.2
  - on_player_receive_fields[1] .......................  |         1 |        81 |         1 |   0.0 |   3.5 |   0.1
  - on_leaveplayer[1] .................................  |         1 |        70 |         4 |   0.0 |   2.3 |   0.2
 
 more_chests:                                            |         0 |        80 |         0 |   0.0 |   0.4 |   0.0
 
 mobs:                                                   |         0 |        65 |         0 |   0.0 |   3.1 |   0.0
  - on_leaveplayer[1] .................................  |         2 |        65 |         5 |   0.0 |   3.1 |   0.2
  - on_player_receive_fields[2] .......................  |         1 |        57 |         1 |   0.0 |   2.6 |   0.1
  - on_player_receive_fields[1] .......................  |         1 |        63 |         1 |   0.0 |   2.3 |   0.1
  - on_dieplayer[1] ...................................  |         2 |         5 |         2 |   0.0 |   0.2 |   0.1
 
 travelnet:                                              |         0 |     32380 |         0 |   0.0 |  97.2 |   0.0
 
 unified_inventory_plus:                                 |         0 |    118448 |         1 |   0.0 |  99.5 |   0.0
 
 minecart:                                               |         0 |        56 |         0 |   0.0 |   4.1 |   0.0
  - on_player_receive_fields[1] .......................  |         1 |        56 |         1 |   0.0 |   4.1 |   0.1
 
 inventorybags:                                          |         0 |     22062 |         3 |   0.0 |  95.1 |   0.1
  - on_player_receive_fields[15] ......................  |         1 |        98 |         1 |   0.0 |   4.7 |   0.1
  - on_player_receive_fields[3] .......................  |         1 |        79 |         2 |   0.0 |   8.1 |   0.1
  - on_player_receive_fields[11] ......................  |         1 |        91 |         1 |   0.0 |   5.5 |   0.1
  - on_player_receive_fields[8] .......................  |         1 |       331 |         1 |   0.0 |   7.8 |   0.1
  - on_player_receive_fields[5] .......................  |         1 |       269 |         3 |   0.0 |  22.6 |   0.2
  - on_player_receive_fields[13] ......................  |         1 |       216 |         2 |   0.0 |   4.3 |   0.1
  - on_placenode[1] ...................................  |         1 |     20323 |       185 |   0.0 |  94.3 |   8.9
  - on_player_receive_fields[1] .......................  |         1 |       147 |         1 |   0.0 |   6.2 |   0.1
  - on_player_receive_fields[14] ......................  |         1 |        93 |         1 |   0.0 |   3.3 |   0.1
  - on_player_receive_fields[2] .......................  |         1 |       126 |         2 |   0.0 |   6.0 |   0.1
  - on_player_receive_fields[16] ......................  |         1 |        84 |         2 |   0.0 |   5.8 |   0.1
  - on_player_receive_fields[4] .......................  |         1 |        94 |         1 |   0.0 |   5.2 |   0.1
  - on_player_receive_fields[9] .......................  |         1 |       212 |         1 |   0.0 |   8.7 |   0.1
  - on_player_receive_fields[7] .......................  |         1 |        84 |         1 |   0.0 |   5.0 |   0.1
  - on_player_receive_fields[12] ......................  |         1 |       150 |         1 |   0.0 |   4.6 |   0.1
  - on_dignode[1] .....................................  |         1 |     22062 |       182 |   0.0 |  95.1 |   8.1
  - on_player_receive_fields[10] ......................  |         1 |        91 |         2 |   0.0 |   5.9 |   0.1
  - on_player_receive_fields[6] .......................  |         1 |        78 |         2 |   0.0 |   6.0 |   0.1
  - on_joinplayer[1] ..................................  |         5 |        79 |        14 |   0.0 |   0.4 |   0.1
  - on_player_receive_fields[17] ......................  |         3 |      3579 |        16 |   0.0 |  73.2 |   0.6
 
 wiki:                                                   |         0 |      5727 |         0 |   0.0 |  82.7 |   0.0
 
 itemframes:                                             |         0 |     19922 |         0 |   0.0 |  68.4 |   0.0
 
 bushes_classic:                                         |         0 |      1797 |         0 |   0.0 |  35.9 |   0.0
 
 scifi_nodes:                                            |         0 |        53 |         0 |   0.0 |   2.9 |   0.0
 
 dtime:                                                  |         0 |       607 |         1 |   0.0 |  40.8 |   0.1
  - globalstep[1] .....................................  |         1 |       607 |         1 |   0.0 |  40.8 |   0.1
 
 hangglider:                                             |         0 |       391 |         0 |   0.0 |  13.1 |   0.0

 give_initial_stuff:                                     |         0 |        69 |         0 |   0.0 |   0.3 |   0.0

 euban:                                                  |         0 |     18687 |         0 |   0.0 |  94.5 |   0.0

 hunger:                                                 |         0 |     22506 |         4 |   0.0 |  95.2 |   0.2
  - globalstep[1] .....................................  |         1 |     22506 |         4 |   0.0 |  95.2 |   0.2
  - on_respawnplayer[1] ...............................  |       204 |       759 |       342 |   5.2 |  37.4 |  18.3
  - on_dignode[1] .....................................  |         1 |     17313 |        10 |   0.0 |  84.0 |   0.5
  - on_placenode[1] ...................................  |         1 |       984 |         6 |   0.0 |  36.4 |   0.3
  - on_joinplayer[1] ..................................  |         8 |        44 |        13 |   0.0 |   0.2 |   0.1

 3d_armor:                                               |         0 |     21093 |         5 |   0.0 |  85.9 |   0.4
  - globalstep[1] .....................................  |         1 |      1282 |         1 |   0.0 |  80.5 |   0.2
  - on_dieplayer[1] ...................................  |        83 |       245 |       132 |   0.4 |   7.4 |   3.6
  - on_punchplayer[1] .................................  |        12 |       191 |        42 |   0.0 |   7.3 |   1.6
  - on_player_hpchange[1] .............................  |         1 |      1462 |        13 |   0.0 |  51.2 |   0.8
  - on_leaveplayer[1] .................................  |         1 |        20 |         3 |   0.0 |   0.4 |   0.1
  - on_joinplayer[1] ..................................  |        12 |        55 |        19 |   0.0 |   0.3 |   0.1
  - on_player_receive_fields[1] .......................  |         3 |       113 |         7 |   0.0 |   3.7 |   0.3
  - globalstep[2] .....................................  |         1 |     21092 |         3 |   0.0 |  85.9 |   0.2

 serveressentials:                                       |         0 |       453 |         0 |   0.0 |  16.5 |   0.0

 currency:                                               |         0 |      1515 |         1 |   0.0 |  40.4 |   0.1
  - globalstep[1] .....................................  |         1 |       540 |         1 |   0.0 |  38.7 |   0.1
  - on_dignode[1] .....................................  |         1 |      1514 |         3 |   0.0 |  40.4 |   0.2
  - on_placenode[1] ...................................  |         1 |       812 |         3 |   0.0 |  24.6 |   0.2
  - on_player_receive_fields[1] .......................  |         1 |       175 |         1 |   0.0 |   7.7 |   0.1
  - on_craft[1] .......................................  |         1 |       463 |         6 |   0.0 |  33.8 |   0.5

 signs_lib:                                              |         0 |    118140 |         2 |   0.0 |  99.4 |   0.0

 qos:                                                    |         0 |       614 |         2 |   0.0 |  53.7 |   0.2
  - globalstep[1] .....................................  |         1 |       614 |         2 |   0.0 |  53.7 |   0.2

 sfinv:                                                  |         0 |        78 |         0 |   0.0 |   3.7 |   0.0

 smartshop:                                              |         0 |      1291 |         0 |   0.0 |  49.6 |   0.0

 moremesecons_adjustable_player_detector:                |         0 |       502 |         0 |   0.0 |  29.4 |   0.0

 moretrees:                                              |         0 |     91895 |         0 |   0.0 |  98.6 |   0.0

 beds:                                                   |         0 |       523 |         0 |   0.0 |  16.8 |   0.0

 wieldview:                                              |         0 |      1831 |         2 |   0.0 |  46.1 |   0.1
  - globalstep[1] .....................................  |         1 |      1831 |         2 |   0.0 |  46.1 |   0.2
  - on_joinplayer[1] ..................................  |         1 |        57 |         4 |   0.0 |   0.1 |   0.0

-------------------------------------------------------- | --------- | --------- | --------- | ----- | ----- | ------
 total:                                                  |        23 |    822768 |      2183 | 100.0 | 100.0 | 100.0
Last edited by Festus1965 on Fri Apr 29, 2022 02:41, edited 2 times in total.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison

by Festus1965 » Post

this is how programmers are taking care about lag impact:
https://github.com/mt-mods/pipeworks/issues/23

answer:
This seems to be already solved by "switch to techage", thanks for suggestions.

This is like a family died as of a dangerous position tree at a street and the road government will write:
That problem is solved, as this family will never pass this tree again.
Wow ... !

and then this:
just fyi: i blocked you from this org because you aren't really constructive.
Basically all you do is complain without ever providing solutions or ideas (this isn't the only place you are doing this).
IMO: I think we are all better off in this org when we don't have to attend to your "comments"

Anyhow: if you are still interested in this community and learn to express yourself better feel free to appeal in the IRC-channel or discord.

Have a nice day
after more than 2 years of showing, pointing this problem,
show solutions in my server threads about tuning
sure I am disappointed

but short now still as of testing facts and also fact of my server hosting still both solutions:
avoid pipeworks + technic if you wanna have a fast server.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison - retest my tuned ones

by Festus1965 » Post

as of this : viewtopic.php?p=409694#p409694
I had a high meaning of this guy, but every day he keep this post without a sorry, a excuse his rank will sink further :
BuckarooBanzay wrote:... Basically all you do is complain without ever providing solutions or ideas (this isn't the only place you are doing this). ...
I test pipeworks and technic with my tuned version, and hope to see a difference to proof this lie.
My server threads are full of hints and profiler extracts , also about the interval/change problem.

When this responsible persons are not able to see themself the massive impact of pipeworks (but same in advtrains or petz) in lag ... they should maybe change their job.

But for ME the forum was the base, as everything that is not *.minetest.net
DOES NOT official belong to minetest ... I got once an answer ! So github it not official.

but on this here : https://github.com/mt-mods/pipeworks/issues/23
Isn't engine supposed to do this for you delaying ABMs? Maybe changing ABM time bucket could help solving your issue:

# The time budget allowed for ABMs to execute on each step
# (as a fraction of the ABM Interval)
abm_time_budget (ABM time budget) float 0.2 0.1 0.9
He also has not understood the basic of change interval to not meet at 5, 10, 20, 30 ... with mention this option,
as then still a lot of mod work is done just every 10 seconds same time, instead of spread it over also the other 9 not or less used seconds between every 10. sec.
His solution still keep the lag peak every 10 or 20 or 30 sec, instead of spread all ABM work more smooth over all possible seconds with ... 200ms.

This mean : AVOID pipeworks and technic as above shown proof it will not get better.
as they ignore even my tuning settings since 2 years !


test running ... 8:35 ... stopped 18:10 as I have to leave

and result /profiler:
* pipeworks : 33 %
* player_api 30.7 %
* technic : 28.9 %
* fire : 7.4 %


2 Things are clear Now:
* my tuning options on pipeworks and technic ARE working, the impact is much lower, another admin is absolute wrong about my success. They just don't like my kind of telling, but truth is truth, and he a ... .
* but even I am not able to stop USELESS CPU time, as this world has no ANY build node out of pipeworks or technic.
This both mods are wasting your server time for nothing. Do not use them for new server, take others.


and as hi didn't change his post even I pointed him to this results and last 2 years tuning improvement:
https://github.com/mt-mods/pipeworks/issues/23 - 8 days ago
BuckarooBanzay wrote:@Festus1965 just fyi: i blocked you from this org because you aren't really constructive.
Basically all you do is complain without ever providing solutions or ideas (this isn't the only place you are doing this).
He is sooo wrong ... but here list of improvements with solution ! between 2019 and 2020, most near 2 years old again to help him out.
There is a clear word for his comment beside the facts in forum, but to avoid another ban I will not write it.
And this tuning is from 20.06.2020 = near 2 years old ... but no-one wanted to see, use or accept them.
Sure, admins, use most only their own 'world' git and avoid THE central area for gamer and admins ... can't see it.
And I also remember I told him about this options a year ago, when I was playing on his server ... yeah, yeah.

Code: Select all

(T@__builtin)A total of F382722E sample(s) were taken.E


 instrumentation                                         |    min µs |    max µs |    avg µs | min % | max % | avg %
-------------------------------------------------------- | --------- | --------- | --------- | ----- | ----- | ------
 
 pipeworks:                                              |         0 |      1490 |         3 |   0.0 | 100.0 |  33.0
  - globalstep[1] .....................................  |         1 |      1489 |         3 |   0.2 | 100.0 |  31.8
  - globalstep[2] .....................................  |         1 |       113 |         1 |   0.1 | 100.0 |  15.1
 
 player_api:                                             |         0 |       155 |         2 |   0.0 | 100.0 |  30.7
  - globalstep[1] .....................................  |         1 |       155 |         2 |   0.3 | 100.0 |  30.9
  - on_leaveplayer[1] .................................  |         1 |         1 |         1 |   1.4 |   1.4 |   1.4
  - on_joinplayer[2] ..................................  |        20 |        21 |        20 |   4.1 |   4.5 |   4.3
  - on_joinplayer[1] ..................................  |         1 |         1 |         1 |   0.2 |   0.2 |   0.2
 
 technic:                                                |         0 |       153 |         2 |   0.0 | 100.0 |  28.9
  - globalstep[1] .....................................  |         1 |        96 |         1 |   0.1 | 100.0 |  14.3
  - on_joinplayer[1] ..................................  |         2 |         2 |         2 |   0.4 |   0.4 |   0.4
  - on_leaveplayer[1] .................................  |         5 |         5 |         5 |   7.0 |   7.0 |   7.0
  - globalstep[3] .....................................  |         1 |       150 |         1 |   0.2 | 100.0 |  13.1
  - globalstep[2] .....................................  |         1 |        80 |         1 |   0.1 | 100.0 |  12.8
 
 fire:                                                   |         0 |       108 |         0 |   0.0 | 100.0 |   7.4
  - globalstep[1] .....................................  |         1 |       108 |         1 |   0.1 | 100.0 |  12.1
  - on_leaveplayer[1] .................................  |         1 |         1 |         1 |   1.4 |   1.4 |   1.4
  
  rest 0.0

still running, but short login = sneak results
* pipeworks : 33.1 %
* player_api : 30.8 %
* technic : 28.8 %
* fire : 7.4 %
* default : 7.4 %
mhh,
as fire is near double now, mean the overall load is less !
also player_api have bigger share by 50% = also a sure sign,
that with my tuning settings in pipeworks and technic, they have less impact.
Sum of both is 61.9 % against original 75.6 % = a near 20% of lower lag with my tuning.

we see then at evening after about 10-12 hours similar run time.
But for sure, to tell that I don't help to improve is WRONG !
The testing took long time, and as no other server took part ... it takes long time to be sure,
and when officials of mt or mods think to ignore other threads with main options of their mods ... sorry, your fault.

Also here again: VanessaE blocked my intention years ago, as of: "I want my items flow nice!".

compare to older one, with to changes to original settings:
75.6 % (18.4 + 57.2%) / + 310 % load
Festus1965 wrote:
Wed Apr 06, 2022 08:49
logged in /status also max_lag 0.09
/profiler :

* pipeworks: 57.2%
* player_api: 20.7 %
* technic: 18.4 %
* fire: 3.7 %
important here again to repeat :
There no ANY node build out of technic or pipeworks ... al this CPU usage is done for NOTHING !
Last edited by Festus1965 on Sat Apr 30, 2022 01:01, edited 15 times in total.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison - example Pandorabox

by Festus1965 » Post

I asked for a new one.
Nothing, no answer
so I take an older one during I was active there:
Pandorabox wrote:Profiler 23.10.2019
1. - 31.5 % = advtrains
2. - 13.2 % = mesecons
3. - 10.6 % = pipeworks
4. - 9.3 % = technic
5. - 7.0 % = advtrains_train_japan
6. - 3.7 % = pandorabox_costum
7. - 2.9 % = advtrains_subway_colored
8. - 1.9 % = advtrains_train_steam
9. - 1.7 % = mobs_monster
10. - 1.1 % = default

Top Peaked:

1. mesecons with 1.950.660 max us
2. vency_vent with 1.161.204
3. TravelNet with 817.187
4. advtrains with 713.495
5. ?
6. technic with 587.115 (just )
7. pipeworks with 565.105
8. biome_lib with 406.378
So now compare to my server, where NO advtrains is running:

First look how far beyond adv trains is in front of pipeworks an technic = proof also my single impact result and rank.

advtrains adds a minimum of 31% plus CPU work on this server even already high load as of pipeworks+technic.

Or taking down the advtrains impact, and recalculate on left new 100% sum. Mean without advtrains main, the rest CPU works is 68.5% and so pipeworks and technic have a higher part of this reduced new then 100% of all.
* pipeworks then is 15.5 % of the lower 100% base
* technic then 14 %
here also closed together as on my server. Proof again, that this results seam to fix together also.

If taking down also here massive used mesecons, mean rest CPU 55.3 % left for all not 2 leading mods.
* pipeworks then has there a share of 20.2 %
* technic of 16.8 %
as it is not high as on my server, maybe some local tuning or more likely the following
* advtrains = 31.5 + 7.0 % + 2.9 + 1.9 = alone 43,3 % of all server work
* mesecons still ? 13.2 %
mean rest of 43.5 % is other mods to compare more likely with the empty server test or my one.
* pipeworks then is 24.3 %
* technic = 21.4 %

Conclusion: for Pandorabox
server lag might be half 55% down if advtrains is off, or written much better
server lag might be 25% down from now, or another 46 % without advtrains if code might be better

but also at this server there seam to be the problem of not able to use cache in OS and DB, and could reduce the lag sure, but at the end bad written mods are causing lag mainly.

So if you want make a new server,
and you are not able to make fast io in RAM, using cache ... an don't have a maybe 16 core 5 GHz with 64 GB DDR5 RAM
AVOID advtrains, pipeworks and technic. (stand of judge 29.04.2022 with low hope that they improve)

or another option to compare: my default has near 4.7 % of CPU time,
calculate to here just 1.1 % mean Pandorabox server has to do 4.2 times more work than my one, or 4.2 time higher lag.
So I just had 0.4s mean there might be 1.700s under near same 'other settings' and logged in gamer.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
runs
Member
Posts: 3225
Joined: Sat Oct 27, 2018 08:32

Re: mod LAG impact comparison

by runs » Post

In my country they say: "You have entered like an elephant in a china shop".

In a cocky way, with categorical affirmations without listening to other opinions and bullying people.

Making a mod costs a lot of time and life time invested, for someone to come and tell you that you're doing it wrong, just like that, for the hell of it.

You will have your data, but the rest of us can do analysis.

For example, have you analyzed why player_api consumes so much time, almost as much as Petz?

I know the answer and it explains a lot.

User avatar
LMD
Member
Posts: 1386
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: mod LAG impact comparison

by LMD » Post

runs wrote:
Fri Apr 29, 2022 15:51
For example, have you analyzed why player_api consumes so much time, almost as much as Petz?

I know the answer and it explains a lot.
I doubt that, having rewritten the player_api code somewhat recently; it's basically just a single globalstep plus a couple engine callbacks - nothing that can't complete in a couple µs. If you do know why player_api takes so long, please enlighten me so that I can fix it.

Currently I have to assume either incorrect profiling (perhaps bugs in the profiler?) or incorrect interpretation of the results (perhaps too small samples?).

Edit: I now see where the misunderstanding lies:
logged in /status also max_lag 0.09
/profiler :

* pipeworks: 57.2%
* player_api: 20.7 %
* technic: 18.4 %
* fire: 3.7 %
important here again to repeat :
There no ANY node build out of technic or pipeworks ... al this CPU usage is done for NOTHING !
And that's why you should be looking at the absolute numbers! This can't be stressed enough. If player API takes 20% of serverstep execution time, your server steps will be in the couple ms range - well below 50 ms - which is decent. You're completely misinterpreting these profiler results: They aren't CPU usage percentages! The CPU can idle for most of these 0.09 seconds (except if Minetest busywaited, but that's out of mod control and should be filed as an engine issue).

TL;DR: You're misinterpreting the profiler results. player_api has no performance issue.
My stuff: Projects - Mods - Website

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

Re: mod LAG impact comparison

by Festus1965 » Post

runs wrote:
Fri Apr 29, 2022 15:51
For example, have you analyzed why player_api consumes so much time, almost as much as Petz?
This answer of you show that you misunderstood or didn't read all text.

So I changed the post 2 and took out player_api from the impact list, as it is misleading most of you anyway.


player_api with it's high impact inside the MTG base is similar like mod petz then on hole MTG.


Reason:
Even MTG is running alone on an most empty world, and NO any player existing at 99.9 % of server test running, player_api behaves like busy. But busy for nothing = wasting CPU time for nothing.

And so advtrains or petz are doing the same later on the MTG base, as I wrote clear: Even there is no any item or node existing that belongs to advtrains or just one rat existing, that petz can handle in 10 hours of server running, the basic lag MTG has, is rising by USELESS x % for nothing.

My option is clear - it behave like a lag machine, a lot of work showing up, for no node existing.

And I can say that, as other mod have shown also clear, that this is not necessary : this mod run with near no impact during empty testserver, like mods_redo with one bat, or even better by terumat.

A good mod used only CPU time needed for managing the existing nodes or items that are existing, but NOT for nothing.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

Re: mod LAG impact comparison

by Festus1965 » Post

LMD wrote:
Fri Apr 29, 2022 21:51
And that's why you should be looking at the absolute numbers! This can't be stressed enough. If player API takes 20% of serverstep execution time, your server steps will be in the couple ms range - well below 50 ms - which is decent. You're completely misinterpreting these profiler results: They aren't CPU usage percentages! The CPU can idle for most of these 0.09 seconds (except if Minetest busywaited, but that's out of mod control and should be filed as an engine issue).

TL;DR: You're misinterpreting the profiler results. player_api has no performance issue.
I repeat, player_api HAS a performance issue!
It's behavior inside MTG with taking 86.8 % of the less running mods is too much, especial when there is no gamer loged in.


So I would like to know why it has to work so much, even other mods like fire might have a reason (there es no fire) or dungeon_lot that could could exist underground. But 99.9 % there is no gamer logged in !
This does not make any sense!



There is no difference if I take absolute numbers or percentage !

The main data profiler deliver is even not the hole CPU time, it show the percentage of (all?) mods inside minetest engine.
IT is clear even mtserver is using only 5% of CPU capacity (here on my server) THAT is not helping anything as every server has another CPU power, and can't be compared.

Your are right, when you want to see absolute CPU time of a mod, but at the end, it will lead to the same problem.

For an admin the most easy is to see the average usage of his CPU on server. So even at a strong CPU like minetestserver is taking 25-30% of all ore one CPU,
percentage always show clear what mod(s) is/are most responsible for this usage.

IF I use an old 2 core AllInOne PC what will be at 100% or my Intel i7-4770 with 25%, that MAIN solution to fight down lag is to know what mod is consuming most of all work the CPU does, never mind about absolute or percentage.

And my results show very easy that to avoid lag, eliminate the most CPU taking mods.

If an admin like petz, or advtrains or pipeworks+technic so much and has still CPU idle to handle, OK there decision,
but after hosting my server so long, offering solutions how to reduce lag inside mods (like proofed in pipeworks and technic - even some admin try to tell I am not helping)

I now give a clear list of impact numbers to let future admins not run in the same trap getting useless lag.

It is a bit like when you look for a car, where they offer the average gasoline usage.
For me it is important to know if I can transport 350 kg load and have to accept 14ltr / 100 km or just 7.7 ltr per 100 km.
runs wrote:
Sun Apr 10, 2022 09:14
Would I complain about the game? No, I'd **** me, because I know that if I want to play modern games (requirements are specified) I have to have a good graphics card or throw the PC away and buy a new one.
So here is exact what every game has ... requirements : but I go the other way, easier to do.
AS minetest engine itself and MTG don't have a high impact I use this as a base. This is 100% on your server, whatever %CPU it real takes ... but on this base you can calculate now the impact.

So if Minetest server + MTG uses just 5% of CPU, then after adding :
* + 1.487 % load : advtrains it will be about 15 rimes higher = 50% already, just empty !!!
* + 310 % load : technic/pipeworks ... it will rise to 20% ... just empty
* + 223 % load : petz, ... CPU will be 16.15% ... just empty no gamer
but if you have low hardware, and only engine and MTG is already at 20%
* advtrains will maybe crash server just without any gamer, as CPU would need 200%
* technix/pipeworks will rise it to 80% even no gamer in ... clear, there is not much left for mods get active when gamer is loged in
* petz ... will rise it to 64.4 % ... if no other mod is added, and no gamer is inside ... so it is easy to imagine what will happen when gamer play and use petz
admins should know ! the impact before they start and then difficult to change as I see it on my server Asia Thailand - a lot of work, but lucky, only one gamer left as not willing to change his 20 technic nodes. I changes 2000 in a week and we most have fun to learn new mod with lower lag, as we know the advantage for the future of the server with maybe more gamer then also.


The lower their hardware of server is, the less they should choose mods with higher impact.
So now future admins get a hint, what happen to their server-lag when they might choose a mod with high or low impact.

They just install mtserver with MTG, let it run empty and look their CPU usage in htop for only minetestserver.
The lower the hardware, the higher is the basic CPU usage ... and anyway how high it is ... 86.8% of this basic CPU usage is caused by player_api then also. ! Even no gamer logged in !


And after Sunday my server run 24h without piepworks and technic, there will be more facts in that direction.
Either absolute or %.
IF now 55% of all mt server caused CPU work with 25-30% is caused by pipeworks and technic,
after I take this mods of, then I guess mtserver will only use 13-15% of CPU without ?

That would mean, if a slow server hardware had already near 50% of CPU time by mtserver processes, then adding pipeworks+technic might kill the server ... no idle left.

But I will bring this numbers to facts.
Last edited by Festus1965 on Sat Apr 30, 2022 00:25, edited 1 time in total.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison

by Festus1965 » Post

I think about to test some mods with my special minetest.conf setting I hope they are tuning.

Will prepare that.

After I could prof that my changes at mods pipeworks and technic also lowered the lag a lot (near 20%) I should also test if my other settings have any effect or are useless.

so what I have to take in ?

Code: Select all

enable_rollback_recording = false

# protector settings: (this is more rising lag, I know as bigger area)
protector_drop = false
protector_radius = 8
protector_flip = true
protector_hurt = "3"
protector_show_interval = 15
protector_recipe = true
protector_msg = true

# pipeworks
pipeworks_enable_items_per_tube_limit = false
pipeworks_max_items_per_tube = 60

# moreblocks
moreblocks.stairsplus_in_creative_inventory = false

# for use_texture_alpha = clip, opaque or blend
use_texture_alpha = 'blend'

# testen
display_mob_spawn = false

# Monstern verbieten in "protected"-Bereichen zu spawnen? (1 = ja; 0 = nein):
mobs_spawn_protected = 1

# Mobs auser Sichtweite entfernen? (true = ja; false = nein):
remove_far_mobs = true

enable_fire = false
disable_fire = true

disable_anticheat = false

# also guess more rising lag
sprint = true
sprint_particles = true


#    Defines the maximal player transfer distance in blocks (0 = unlimited).
player_transfer_distance = 100

# how many blocks are flying in the wire simultaneously per client
#max_simultaneous_block_sends_per_client = 20
max_simultaneous_block_sends_per_client = 1200

# how many blocks are flying in the wire simultaneously per server
#max_simultaneous_block_sends_server_total = 200
max_simultaneous_block_sends_server_total = 24000

# Number of extra blocks that can be loaded by /clearobjects at once
# This is a trade-off between sqlite transaction overhead and
# memory consumption (4096=100MB, as a rule of thumb)
#max_clearobjects_extra_loaded_blocks = 4096
max_clearobjects_extra_loaded_blocks = 40960

#    From how far clients know about objects, stated in mapblocks (16 nodes).
# active_object_send_range_blocks = 3
active_object_send_range_blocks = 2

#    How large area of blocks are subject to the active block stuff, stated in mapblocks (16 nodes).
#    In active blocks objects are loaded and ABMs run.
# active_block_range = 4
active_block_range = 2

#    From how far blocks are sent to clients, stated in mapblocks (16 nodes).
# max_block_send_distance = 10
max_block_send_distance = 8

#    At this distance the server will aggressively optimize which blocks are sent to clients.
# block_send_optimize_distance = 4
block_send_optimize_distance = 3

# Maximum number of forceloaded blocks
# max_forceloaded_blocks = 16
max_forceloaded_blocks = 64
#max_forceloaded_blocks = 1024 # was about 16 now

#server_unload_unused_data_timeout = 600 # 86400 24 h, 1 Tag, 2 Tage war 29 GB, also mal 1.5 Tage
#server_unload_unused_data_timeout = 86400 # also lead to freeze with 10GB sql
server_unload_unused_data_timeout = 64800


#    Maximum number of statically stored objects in a block.
# max_objects_per_block = 64
max_objects_per_block = 2048

#    See http://www.sqlite.org/pragma.html#pragma_synchronous
# sqlite_synchronous = 2
sqlite_synchronous = 1

# Level of logging to be written to debug.txt.
#debug_log_level = error,debug,warning
debug_log_level = warning

# Maximum number of blocks that can be queued for loading.
#emergequeue_limit_total = 256
emergequeue_limit_total = 1024

# Maximum number of blocks to be queued that are to be loaded from file.
# Set to blank for an appropriate amount to be chosen automatically.
#emergequeue_limit_diskonly = 32
emergequeue_limit_diskonly = 8192

# Maximum number of blocks to be queued that are to be generated.
# Set to blank for an appropriate amount to be chosen automatically.
#emergequeue_limit_generate = 32
emergequeue_limit_generate = 2048

# Number of emerge threads to use.  Make this field blank, or increase this number, to use multiple threads.
# On multiprocessor systems, this will improve mapgen speed greatly, at the cost of slightly buggy caves.
#num_emerge_threads = 1
num_emerge_threads = 4

# maximum number of packets sent per send step, if you have a slow connection
# try reducing it, but don't reduce it to a number below double of targeted
#max_packets_per_iteration = 1024
max_packets_per_iteration = 32768

#full_block_send_enable_min_time_from_building = 2.0
full_block_send_enable_min_time_from_building = 1.0

# curl_parallel_limit = 8
curl_parallel_limit = 16

#    Length of a server tick and the interval at which objects are generally updated over network.
# dedicated_server_step = 0.09
dedicated_server_step = 0.033
server_step = 0.01

#    Time in between active block management cycles
# active_block_mgmt_interval = 2.0
active_block_mgmt_interval = 1.0

#    Length of time between ABM execution cycles
abm_interval = 1.0
abm_time_budget = 0.65

#    Length of time between NodeTimer execution cycles
# nodetimer_interval = 0.2
nodetimer_interval = 0.1

so far ... clear that not all settings will impact on all mods
* ABM settings only work on ABM, like technic
* and more ...

but for me a test with technic and pipeworks like yesterday in tuned options and then again in original options should make a good start to see IF their are significant changes in impact.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison - tuned technic/piworks + conf

by Festus1965 » Post

test started 7:38 ICT

with same config like yesterday:
* tuned pipeworks
* tuned technic
plus
* above shown minetest.conf settings

result /profiler:
* pipeworks: 53.4 %
* player_api: 20.9 %
* technic: 19.9 %
* fire: 5.8 %

just before I wrote this, but it is a view posts down:
Festus1965 wrote:
Sat Apr 30, 2022 10:03
options:
* globalstep (player_api, petz, pipeworks)
* ABM (default, technic, mobs_redo)
* lbm ???
this reminds me, that in the conf both : globalstep and ABM, are 'ment' with options.
* trippled the speed or repeating of dtime
* ABM got more often and longer time to run, if needed

so logic, that pipeworks and player_api (globalstep) rose up,
but technic had no change (just less % in the higher usage) as ABM was still not blocked or get more, it just had the free time to run, but fixed abm will not rise or get less. (as long ABMs was not lost as of too less time to work them)

so, next time separate both options to target wanted effect on globalstep or ABM,
good ...

mean : check
* globalstep : player_api, pos_hud, globalstep
* ABM : default, mobs_redo,

and so faster dtime just force globalstep
but ABM can only get less if hard settings are lowered

... test this next week.

Code: Select all

(T@__builtin)A total of F1131178E sample(s) were taken.E


 instrumentation                                         |    min µs |    max µs |    avg µs | min % | max % | avg %
-------------------------------------------------------- | --------- | --------- | --------- | ----- | ----- | ------

 pipeworks:                                              |         1 |       794 |         5 |   0.7 | 100.0 |  53.4
  - globalstep[1] .....................................  |         1 |       794 |         4 |   0.7 | 100.0 |  48.4
  - globalstep[2] .....................................  |         1 |       193 |         1 |   0.1 |  98.5 |  12.3

 player_api:                                             |         0 |       170 |         2 |   0.0 |  98.8 |  20.9
  - globalstep[1] .....................................  |         1 |       170 |         2 |   0.2 |  98.8 |  21.7
  - on_leaveplayer[1] .................................  |         1 |         1 |         1 |   0.8 |   0.8 |   0.8
  - on_joinplayer[2] ..................................  |        21 |        29 |        25 |   3.8 |   4.0 |   3.9
  - on_joinplayer[1] ..................................  |         1 |         1 |         1 |   0.1 |   0.2 |   0.2

 technic:                                                |         0 |       202 |         2 |   0.0 |  98.1 |  19.9
  - globalstep[1] .....................................  |         1 |       157 |         1 |   0.1 |  93.2 |  11.3
  - on_joinplayer[1] ..................................  |         2 |         4 |         3 |   0.4 |   0.6 |   0.5
  - on_leaveplayer[1] .................................  |         4 |         4 |         4 |   3.4 |   3.4 |   3.4
  - globalstep[3] .....................................  |         1 |       163 |         1 |   0.1 |  98.1 |  11.7
  - globalstep[2] .....................................  |         1 |       201 |         1 |   0.2 |  95.3 |  11.1

 fire:                                                   |         0 |       190 |         0 |   0.0 |  91.8 |   5.8
  - globalstep[1] .....................................  |         1 |       190 |         1 |   0.1 |  91.8 |  10.4


Last edited by Festus1965 on Sat Apr 30, 2022 11:08, edited 1 time in total.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
LMD
Member
Posts: 1386
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: mod LAG impact comparison

by LMD » Post

Let me tell you what player_api is doing "on it's own" when the server is empty (no players): It runs a single globalstep. This globalstep indexes player_api to obtain the globalstep function which is then called with the vararg. If this is not overridden, it just calls minetest.get_connected_players(), which will return an empty list for an empty server, and then iterates over that using ipairs, which will do nothing.

You can't possibly tell me that this consumes any significant amount of time. My own benchmarking shows that this globalstep takes well below 100µs = 0.1ms.

I therefore again conclude that your profiling or interpretation of profiler data is severely flawed (by looking at relative units, for instance: if your server step only takes 200µs, player_api might be 25% of that, but it's not an issue at all). player_api can hardly be optimized further; if anything, Minetest needs to be optimized.
My stuff: Projects - Mods - Website

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

Re: mod LAG impact comparison

by Festus1965 » Post

wrong,
if doing nothing, then it would also have as less % as the other nothing doing mos in MTG. tsts
LMD wrote:
Sat Apr 30, 2022 07:37
player_api can hardly be optimized further; if anything, Minetest needs to be optimized.
So it can ...
however you wanna tell me that it takes very very less time to run, if still run every time useless as long there is no gamer logged in !

We have 350 server, from which near 300 server are most empty - mean player_api all over does useless (even if only litte) work as long they are empty.
On a server with just MTG is is near 90% of all work that is done = quit huge to ignore it.

Can't the globalstep only be triggered and keep running as long a gamer is logged in ?

Mean we need ?
- on_joinplayer to start this globalstep repeating, as long gamer not NIL or empty
- and stop it automatic, when player list gets back empty once,
- with set it back to sleeping until on_joinplayer wakes it up ?

or
- inside globalstep is a breaker, that continue globalstep in case of joinplayer activates it, until list is empty again, and go break/sleep.


There is a on_joinplayer
could be enlarged with a value agamer = true
inside globalstep if list is empty this value will be set false

the value could be used to keep running (true) or to stop (false) ?
Last edited by Festus1965 on Sat May 07, 2022 23:06, edited 1 time in total.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
runs
Member
Posts: 3225
Joined: Sat Oct 27, 2018 08:32

Re: mod LAG impact comparison

by runs » Post

Festus1965 wrote:
Sat Apr 30, 2022 07:57
LMD wrote:
Sat Apr 30, 2022 07:37
player_api can hardly be optimized further; if anything, Minetest needs to be optimized.
So it can ...
however you wanna tell me that it takes very very less time to run, if still run every time useless as long there is no gamer logged in !

We have 350 server, from which near 300 server are most empty - mean player_api all over does useless (even if only litte) work as long they are empty.
On a server with just MTG is is near 90% of all work that is done = quit huge to ignore it.

Can't the globalstep only be triggered and keep running as long a gamer is logged in ?

Mean we need ?
- on_joinplayer to start this globalstep repeating, as long gamer not NIL or empty
- and stop it automatic, when player list gets back empty once,
- with set it back to sleeping until on_joinplayer wakes it up ?

or
- inside globalstep is a breaker, that continue globalstep in case of joinplayer activates it, until list is empty again, and go break/sleep.


There is a on_joinplayer
could be enlarged with a value agamer = true
inside globalstep if list is empty this value will be set false

the value could be used to keep running (true) or to stop (false) ?
What you are proposing makes no sense.

You can't stop the globalstep, or if, I don't know, but it is absurd, because when it is executed it already looks if there are players or not, just that, and depending on that it acts.

In fact what you propose would be even slower.

User avatar
runs
Member
Posts: 3225
Joined: Sat Oct 27, 2018 08:32

Re: mod LAG impact comparison

by runs » Post

I think you should learn the concept of game programming.

There are functions that always have to be executed cyclically.

Don't become the taliban of 0 consumption, because it is impossible.

https://love2d.org/

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

Re: mod LAG impact comparison

by Festus1965 » Post

runs wrote:
Sat Apr 30, 2022 09:18
What you are proposing makes no sense.

You can't stop the globalstep, or if, I don't know, but it is absurd, because when it is executed it already looks if there are players or not, just that, and depending on that it acts.

In fact what you propose would be even slower.
THEN globalstep there is wrong ... as devs should know that most server are most time empty,
mean there is no steady work for it,
and so choosing globalstep for this mod was false way.


For me with most time gamer in, the lost is not so high, but calculating on 300 servers no gamer, the extra Watt that this part generates is a huge sum after a year.
I will estimate how much KW/h that might be ... wasted energy.


Just short fun, make it be 1 Watt plus = 300 Watt on 300 server, = 7.2 KWh a day = 2.628 KWh year
or at 30 EuroCent in Germany = 788.4 Euro ... not mentioned the CO2 left.

options:
* globalstep (player_api, petz, pipeworks)
* ABM (default, technic, mobs_redo)
* lbm ???

is there a clear connection between used 'repeater' and mod lag impact ?
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
runs
Member
Posts: 3225
Joined: Sat Oct 27, 2018 08:32

Re: mod LAG impact comparison

by runs » Post

Festus1965 wrote:
Sat Apr 30, 2022 10:03
runs wrote:
Sat Apr 30, 2022 09:18
What you are proposing makes no sense.

You can't stop the globalstep, or if, I don't know, but it is absurd, because when it is executed it already looks if there are players or not, just that, and depending on that it acts.

In fact what you propose would be even slower.
THEN globalstep there is wrong ... as devs should know that most server are most time empty,
mean there is no steady work for it,
and so choosing globalstep for this mod was false way.


For me with most time gamer in, the lost is not so high, but calculating on 300 servers no gamer, the extra Watt that this part generates is a huge sum after a year.
I will estimate how much KW/h that might be ... wasted energy.


Just short fun, make it be 1 Watt plus = 300 Watt on 300 server, = 7.2 KWh a day = 2.628 KWh year
or at 30 EuroCent in Germany = 788.4 Euro ... not mentioned the CO2 left.

options:
* globalstep (player_api, petz, pipeworks)
* ABM (default, technic, mobs_redo)
* lbm ???

is there a clear connection between used 'repeater' and mod lag impact ?
For some tasks, especially in entities, a heartbeating is necessary.

Then it depends of course on the complexity of the code to be executed there

User avatar
LMD
Member
Posts: 1386
Joined: Sat Apr 08, 2017 08:16
GitHub: appgurueu
IRC: appguru[eu]
In-game: LMD
Location: Germany
Contact:

Re: mod LAG impact comparison

by LMD » Post

Festus1965 wrote:
Sat Apr 30, 2022 10:03

For me with most time gamer in, the lost is not so high, but calculating on 300 servers no gamer, the extra Watt that this part generates is a huge sum after a year.
I will estimate how much KW/h that might be ... wasted energy.


Just short fun, make it be 1 Watt plus = 300 Watt on 300 server, = 7.2 KWh a day = 2.628 KWh year
or at 30 EuroCent in Germany = 788.4 Euro ... not mentioned the CO2 left.
Fun indeed because your calculations are ridiculous. The 1W is made up of thin air for the 30µs the globalstep might take to run each step for an empty server.
My stuff: Projects - Mods - Website

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

Re: mod LAG impact comparison

by Festus1965 » Post

I am not the only one, think about useless CPU usage ...
AiTechEye wrote:
Sat Apr 30, 2022 10:57
just added the red paths for npc's, those contains all paths in the city, so the npcs, dont need to use pathfinding and waste cpu, just randomly selecting nearest points
As I have a own wattmeter via modbus at the server, and during the night ONLY the server itself is using energy there,
no other PC (my rig), no monitors (2 from server) I can easy see sooon the impact of busy CPU (even with useless CPU time like ...) and without.

I see clear just from last nights, when more gamer in around 93 Watt are used, and then less gamer in, it fall to 65 Watt.
There is a clear indicator that need or wasting CPU time also is higher or wasting Energy = higher electric bill.
The difference between a higher usage as of gamer, or lag mod is easy: one is usage, other is useless.

This difference runs between a lag of 0.15s to 0.35s - CPU time IT made by power, power is rated in Watts - so my intention is quit more real then your deny.

But I get it more clear, soon ... coming night, when server runs alone without pipeworks/technic and maybe 50% of lag left ...
Last edited by Festus1965 on Sat Apr 30, 2022 23:28, edited 2 times in total.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison

by Festus1965 » Post

this test is running again,

one change only :
dedicated_server_step = 0.09
not my 0.033

started 6:15 ICT ...

so see a difference to this results:
Festus1965 wrote:
Sat Apr 30, 2022 00:37
result /profiler:
* pipeworks: 53.4 %
* player_api: 20.9 %
* technic: 19.9 %
* fire: 5.8 %
result should be a lower impact of globalstep based mods like pipeworks and player_api, and so a fictive rise of the others like ABM, as the overall usage get less = lower impact mods are shown with higher % of less new 100%.

after 7 hours
/profiler
* pipeworks : 33.2 % (2 global)
* player_api : 30.4 % (main global, +2 onjoin)
* technic : 29.3 % (3*global, onjoin)
* fire : 7.1 % (global)
* default : 0.5 % (2 ABM, join)
ok, sure globalstep based mods lost their impact (pipeworks), even fire (globalstep) rised up, as of massive less work in pipeworks ... interesting ...

but look, empty server and with 92% of mtserver doing nothing usefull !!!
no gamer in, no any node, item from pipeworks or technic ... WOW

and yes, rising the 'dedicated_server_step' reduce useless work ... it is just a question how high could it go without
realize negative effect ?


how would it be with 'dedicated_server_step = 0.18' ?
a solution it could be, to rise here, and lower so the repeating loops on globalstep ... done ...
show /status 0.18s max_lag
/profiler
* pipeworks : 36 %
* player_api : 30.2 %
* technic : 27.8 %
* fire : 6.0 %
* default : 2.3 %
... depending on higher default, I might suggest the overall impact of globalstep mods went down.
but sure with most this tests, also show /status max_lag the setting of dedicated_server_step.

Makes me thinking as of new issue ...
Last edited by Festus1965 on Sun May 01, 2022 14:54, edited 4 times in total.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Blockhead
Member
Posts: 1622
Joined: Wed Jul 17, 2019 10:14
GitHub: Montandalar
IRC: Blockhead256
In-game: Blockhead Blockhead256
Location: Land Down Under
Contact:

Re: mod LAG impact comparison

by Blockhead » Post

A typical processor has a TDP of around 65 W under heavy load. According to GNU units, 1 year = 31556926 seconds, or 8765.8182 hours. Minetest's default dedicated_server_step is 0.09 seconds as of version 5.5.0[1].

To derive the total power consumption for a year, we will take the globalstep and turn it into a frequency. We can then can calculate the power needed for running player API as the energy multiplied by time. We can then calculate power over the time in a year to calculate an energy figure in kWh.

For reference[2], the average single person household in Australia may consume in the range of 800-1200 kWh in one quarter, depending on the season. I will be using the figures just as a point of reference.

Case 1: Power hungry
The maximum time taken for player_api was 25900 μs, and that was across all of globalstep, on_player_join etc. Let's assume the processor is running at the full 65 W all year, which is actually where it is least efficient (more operations/W are possible at <100% utilisation). Let's also assume the worst case of player API is running every single cycle (very, very unlikely).

0.09 s = 11.1 (11 + 1/9) Hz

0.0259 s x 65 W = 1.6835 J

1.6835 J * 11.111.. Hz = 18.705555.. W

18.705555... W * 8765.8182 h = 163969.4993295130 Wh = 164 kWh

Finally, * 300 servers = 49.191 MWh

Ok that's pretty dumb at a glance. This is kind of bad for just one mod on one server. Thankfully, consumption is actually nowhere near this bad.

Case 2: More realistic averages
Now let's still assume the processor is running at 50 W average (the cTDP for my AMD processor ranges from 46-65W, which may be comparable, not sure). Let's also assume the actual average of 60 μs as measured in one of Festus' tests (let's assume 2 μs would be too much in our favour).

0.00006 s * 50 W = 0.003 J

0.003 J * 11.111... Hz = 0.0333.... W

0.0333... W * 8765.8182 h = 292.1939397078 Wh = 0.292 kWh

Finally, * 300 servers = 87.6581819123 Wh = 87.658 kWh

Or basically, equivalent to maybe a week's electricity consumption for a an above-average usage single person household in Australia for a season like Spring or Autumn. (1000 kW / 13 weeks = 77 kW/week)

Addendum: Festus' original calculations
Festus1965 wrote:
Sat Apr 30, 2022 10:03
Just short fun, make it be 1 Watt plus = 300 Watt on 300 server, = 7.2 KWh a day = 2.628 KWh year
or at 30 EuroCent in Germany = 788.4 Euro ... not mentioned the CO2 left.
1 W * 300 servers = 300 W

1 day = 86400 s
300 W * 24 h = 7200 Wh = 7.2 kWh
300 W * 8765.8128 h = 2629743.8400 Wh = 2629 kWh

Ah, confusion around the '.' being thousands separator vs being decimal point again. Festus' only calculation error was using '.' inconsistently. His main error though was pulling a ridiculous 1 W out of thin air instead of a more realistic figure, which makes his figure quite inflated. Although my methodology only includes the CPU and not other components like memory, storage and cooling, I'd guess it still works out at less than 1W to run player_api, since those components all consume less than the CPU, and certainly won't triple the power consumption.

Festus also mentioned 'the CO2 emitted' but I have no data on how many servers are carbon neutral, so I won't comment on that.

Corrections are welcome.

-- Blockhead

References
[1]settingtypes.txt@5.5.0
[2]Australian residential energy consumption benchmarks
/˳˳_˳˳]_[˳˳_˳˳]_[˳˳_˳˳\ Advtrains enthusiast | My map: Noah's Railyard | My Content on ContentDB ✝️♂

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

Re: mod LAG impact comparison

by Festus1965 » Post

that fast easy guessing one ?
Festus1965 wrote:
Sat Apr 30, 2022 10:03
Just short fun, make it be 1 Watt plus = 300 Watt on 300 server, = 7.2 KWh a day = 2.628 KWh year
or at 30 EuroCent in Germany = 788.4 Euro ... not mentioned the CO2 left.
1 Watt plus every server, every hour
24 W/h plus one server every day
8.760 W/h one server a year ...
or
8,7 KW/h one server a year
then
2.628 KW/h all server a year or 2.6 MW/h all server a year

my server is during night about 65 W/h

what part of PC takes how much is also shown on some webpages ...
but the Intel i7-4770 should be between 19 - 95 Watt,

source:
As a rough guide, here are approximate ranges of how much power is used by each component:

CPU: 55 to 150W
GPU: 25 to 350W
Optical Drive: 15 to 27W
HDD: 0.7 to 9W
RAM: 2 to 5.5W
Case fans: 0.6 to 6W
SSD: 0.6 to 3W
Other hardware components: N/A

And here's the power draw of the components which pass power on to other parts:

Power Supply (PSU): 130 to 600+W
Motherboard: 25 to 100W
so as I have extra GPU inside, and see other components maybe a 1/4 is only CPU. ... 15 to low, min is 19 Watt as shown. As the CPU is working with today only 23% on one Thread, instead of with pipeworks+technic 33 %,

try to take the Power Draw (TDP) 84W rated for sell,
on 8 Threads, here two are used by minetestserver,

BUT average night is about 65 W/h - all together in PC.

Imagine 84 Watt = 100% 4 Cores / 8 Threads - keep 10.5 Watt each 100% Thread, or 21 Watt for one Core

as two Threads are 23%, or then 1 Core is 23%, we have 21/4 = about again only 5 Watt, but read that not under 19 Watt CPU works here, and only mts is worth to mention running at night ... (or like an empty server)

so back again at
getting 19 Watt for CPU mts complete

with now without pipeworks+technic I see player_api around 10% of all mods with other ones,
then 10% again from this 19.32 Watt is caused by the globalstep always running player_api

low:
mean 1.932 Watt. (1932 mW)


high:
BUT for a server JUST only running MTG, the CPU will not run slower, here 19 Watt, but player_api own ~ 85 %
mean then even 16.15 Wh or round 16 Watt/h are used for empty server only hosting MTG.


And I guess 1 Watt ... upps, too far away for a guessing shot. lol - but against LMD thinking I was very close !
LMD wrote:
Sat Apr 30, 2022 13:02
Fun indeed because your calculations are ridiculous. The 1W is made up of thin air for the 30µs the globalstep might take to run each step for an empty server.
so keep the range from 2 to 16 Watt / hour for one server ...
get 17500 W/h to 140160 W/h range for one server a year

for a German server with 30 EuroCent a KW/h is is
Euro 5.25 to 42 Euro bill rise caused by player_api in one year !

The more lag impact mods like advtrains, petz, pipeworks and player_api, the more pay for nothing.

Here in Thailand with 12 EuroCent (4.5 Baht) is is about 1/3 - and as Solarenergy not that bad.
But my intention is so far right ... or is MT devs supported by RWE to ... force more using, haha


And now we have a look at the energy problems, get it ... and follow higher price ... also as of need to protect climate from CO2 electric .... hmmmm

And we have Millions of gaming server in the world ... yeah.

We should all better buy a electric producing home-bike ... no, I already calculated, takes age to get invest back from that 100 W maybe 4 hours.
Better invest in Solar ... better performance and you can keep playing with not shaking hands.


yeah - yes, I Germany would look like this 140.160,0 Wh
and English was 140,160.0 ???

Thai electric is 40% gas, 20 % coal ... so far last I see. as of CO2 impact, but my private electric is solar.
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison

by Festus1965 » Post

when we are so far to understand useless globalstep impact,

next is to think about useless intervall /change work at ABM ...
Festus1965 wrote:
Sat Apr 30, 2022 07:35
grow cactus
interval = 12,
chance = 83,
996:1

grow papyrus
interval = 14,
chance = 71,
994:1

grass spread
interval = 6,
chance = 50,
300:1

grass covered
interval = 8,
chance = 50,
400:1

moss growth
interval = 16,
chance = 200,
3200:1
hier default ...

just think about grass spread :
every 6 seconds
but only every 50 time avg an action
= 49 times useless work ...

I just changed that also on server, and see result tomorrow.
But last export show:

Code: Select all

 default:                                                |         0 |     33297 |       271 |   0.0 |  86.4 |   8.1
  - on_leaveplayer[1] .................................  |         2 |         5 |         2 |   0.0 |   0.5 |   0.3
  - on_player_receive_fields[2] .......................  |         1 |        75 |         1 |   0.0 |   3.5 |   0.1
  - on_punch[1] .......................................  |        31 |        95 |        59 |   0.4 |  10.3 |   4.3
  - get_staticdata[1] .................................  |         8 |      7393 |       100 |   0.0 |  19.7 |   2.2
  - on_craft[1] .......................................  |         1 |         4 |         2 |   0.1 |   2.3 |   1.1
  - ABM 'Grass covered' ...............................  |         3 |      1024 |        86 |   0.0 |  74.3 |  12.3
  - LBM 'default:3dtorch' .............................  |        37 |       296 |        77 |   0.2 |  17.4 |   3.6
  - ABM 'Moss growth' .................................  |        12 |        47 |        29 |   0.2 |  13.1 |   3.7
  - ABM 'Lava cooling' ................................  |        20 |      1120 |        66 |   0.1 |  78.3 |  11.1
  - on_joinplayer[1] ..................................  |         8 |        54 |        18 |   0.0 |   0.2 |   0.1
  - on_activate[1] ....................................  |         8 |      6618 |       135 |   0.0 |  36.5 |   2.6
  - on_step[1] ........................................  |        12 |     33297 |       875 |   0.0 |  49.3 |  25.7
  - on_player_receive_fields[1] .......................  |         1 |        76 |         2 |   0.0 |   5.1 |   0.1
  - ABM 'Grass spread' ................................  |         1 |       174 |        24 |   0.0 |  47.5 |   4.4
end easy to spot the clear higher impact of ABM inside ... we compare tomorrow

yes, NOT empty running server is better then empty running server (no electric)
and empty server without useless CPU work for globalstep and ABM is also as bit better (less electric / lag)
maybe some day in 10 years ... we force that 24h empty is not shown in list ...
to maybe make then rethink and close them, safe money, electric, CO2 ... maybe
if they all didn't shut down as of rising electric price anyway next years ...

back to usage:
my server average near 70 Watt / hour = 1680 Wh day
I was just closing the solar as no light, and saving so 13 Watt usage at both inverter together the time no sun shine:
12 hours off * 13 Watt = 156 Watt/h a day
beside the generate during other 10-12 hours with 25000 W/h a day.
Relax ...
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison

by Festus1965 » Post

but back to the roots:
I fell over another problem today ...

If like on my server 'Asia Thailand' with over 50% /profiler show using by pipeworks+technic
and I false this out, see other mods are now about 4 times higher in % (clear as of lower 100% base)
should then the lag, that I measured before with p+t not also fall 1/2 then without this both mods ?

That is not !
And so I try to figure out why or from what ... it is caused.

Fact:
5 gamer in : /status max_lag 0.175 / poshud avg 0.02 peak 0.09
now : even I also changed the 'dedicated_server_step = 0.09' (that seam to be a mistake, lag is higher)
5 gamer in : /status max_lag 0.153 / poshud avg 0.01 peak 0.10
not really a change yet, but 12% less at 5 gamer
20 gamer in : /status max_lag 0.357 / poshud avg 0.03 peak 0.23 (near now change now - serverstep ?)
or as of
around 5 gamer:
* 175-267 = AsiaThailand **/ 5 gamer (technic+pipeworks, mobs_redo)
around 10 gamer:
* 181-230 = AsiaThailand ** / 10/11 gamer = poshud: avg 0.02 / peak: 0.08-0.10 (after 12.04.2022)
around 20 gamer:
* 277-363 = Asia Thailand ** / 20 gamer - poshud: avg 0.02 / peak 0.10-0.15 (after 12.04.2022)
around 30 gamer:
* 480-520 = Asia Thailand ** (71/93) / 30 gamer - poshud: avg 0.04-0.07 / peak 0.29-0.59 (after 12.04.2022)
so
* 5 gamer : 0.175s looks same ... but how with lost 50% of all useless mod work ?
* 10 gamer : 0.226-0.243s ... even worse
* 20 gamer : 0.357s - upper area also

that is not logic !

even with testing only : dedicated_server_step = 0.09 (as default)
* petz testing: /status show 0.09 max_lag
* pipeworks : /status showed 0.09 max_lag
* plus technic : /status also max_lag 0.09
* techage : no value
* mobs_redo : /status 0.09s max_lag
* creature + animalia : /status 0.09s max_lag
* teumat : sure also 0.09s

two options: will see also tomorrow
* the gamer is adding it - but why ? gamer trigger mods, but like this ?
* there is one mod causing a fix lag of 0.2s or similar I have not seen yet ? but how would that happen/be ?

Sure again, even after reducing the 'work' shown via /profiler by half the lag didn't fall significant.

I wanna know WHY !

possible test : and one mod by another, start server and check lag ... until there is a big jump up ?
I see no other way yet ...
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
Festus1965
Member
Posts: 4181
Joined: Sun Jan 03, 2016 11:58
GitHub: Festus1965
In-game: Festus1965 Thomas Thailand Explorer
Location: Thailand ChiangMai
Contact:

mod LAG impact comparison - when lag leave 0.09 ?

by Festus1965 » Post

testing already

until now

Code: Select all

[testing]
load_mod_unified_inventory = true
load_mod_unified_inventory_plus = false
load_mod_xp_redo = true
load_mod_wielded_light = true
load_mod_poshud = true
load_mod_postool = true
load_mod_areas = true
load_mod_3d_armor = true
load_mod_spacesuit = true
load_mod_server_news = true
load_mod_serveressentials = true
load_mod_sightview = true
load_mod_skinsdb = true
load_mod_u_skins = true
load_mod_wiki = true
load_mod_hunger = true
load_mod_hud = true
load_mod_unifieddyes = true
load_mod_travelnet = true
but every time I log in, still near 0.09s ...
mean still about 100 times another mod = true restart, login, check ...

after travelnet (#28): 0.0954s

ok, as have tested at real server as of restart today morning and got also ith all mods:

/status 0.0985 max_lag 2 gamer

so it is NOT caused by one mod, it is by gamer

but still not sure why with half of mods lag impact, the max_lag does not go down also by 50% with same gamer amount.

short Idea check:
around 5 gamer: 175-267
around 10 gamer: 181-230
around 20 gamer: 277-363
around 30 gamer: 480-520
on a base of 0.1 or 0.9 might mean
* 175-267 - 100 / 5 = +15/+33 each gamer
* 181-230 - 100 / 10 = +8/+23 each gamer
* 277-363 - 100 / 20 = +9/+12 each gamer
* 480-520 - 100 / 30 = +13/+14 each gamer

mhh +15 average about would explain that eventual - but why, how ?
now 493ms (poshud avg 300ms) / 25 = + 15.72 each
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)

User avatar
apercy
Member
Posts: 640
Joined: Wed Mar 25, 2020 16:31
GitHub: APercy
In-game: APercy
Location: Pinheiral - RJ - Brazil

Re: mod LAG impact comparison

by apercy » Post

Could you test the impact of the supercub mod? And any other airplane mod I made.

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 14 guests