From 2988292540f013405f9c165ebc7cb926b44a72ae Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Fri, 12 Nov 2021 02:33:59 +0000 Subject: [PATCH] Admin server info improvements and minor font tag corrections. Thanks to Trance. --- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../33973-04.htm | 2 +- .../33973-04.htm | 4 +- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../33973-04.htm | 2 +- .../33973-04.htm | 4 +- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../33973-04.htm | 2 +- .../33973-04.htm | 4 +- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../33973-04.htm | 2 +- .../33973-04.htm | 4 +- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../admin/grandboss/grandboss_fafurion.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../33973-04.htm | 2 +- .../33973-04.htm | 4 +- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../admin/grandboss/grandboss_fafurion.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/default/30342.htm | 2 +- .../dist/game/data/html/guard/32136.htm | 2 +- .../Raina/addDualClassErtheiaFailed.html | 2 +- .../ai/others/MentorGuide/33587-03.htm | 4 +- .../ai/others/MentorGuide/33587-05.htm | 4 +- .../ai/others/MentorGuide/33587-06.htm | 6 +- .../ai/others/MentorGuide/33587-07.htm | 6 +- .../ClassTransferTalk/30505-06.html | 2 +- .../ClassTransferTalk/30505-10.html | 2 +- .../ClassTransferTalk/30505-11.html | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../admin/grandboss/grandboss_fafurion.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/default/30342.htm | 2 +- .../dist/game/data/html/guard/32136.htm | 2 +- .../Raina/addDualClassErtheiaFailed.html | 2 +- .../ai/others/MentorGuide/33587-03.htm | 4 +- .../ai/others/MentorGuide/33587-05.htm | 4 +- .../ai/others/MentorGuide/33587-06.htm | 6 +- .../ai/others/MentorGuide/33587-07.htm | 6 +- .../ClassTransferTalk/30505-06.html | 2 +- .../ClassTransferTalk/30505-10.html | 2 +- .../ClassTransferTalk/30505-11.html | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../admin/grandboss/grandboss_fafurion.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/default/30342.htm | 2 +- .../dist/game/data/html/guard/32136.htm | 2 +- .../Raina/addDualClassErtheiaFailed.html | 2 +- .../ai/others/MentorGuide/33587-03.htm | 4 +- .../ai/others/MentorGuide/33587-05.htm | 4 +- .../ai/others/MentorGuide/33587-06.htm | 6 +- .../ai/others/MentorGuide/33587-07.htm | 6 +- .../ClassTransferTalk/30505-06.html | 2 +- .../ClassTransferTalk/30505-10.html | 2 +- .../ClassTransferTalk/30505-11.html | 2 +- .../scripts/events/LegendsMark/34588-1.html | 2 +- .../scripts/events/LegendsMark/34588-2.html | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../admin/grandboss/grandboss_fafurion.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/default/30342.htm | 2 +- .../dist/game/data/html/guard/32136.htm | 2 +- .../Raina/addDualClassErtheiaFailed.html | 2 +- .../ai/others/MentorGuide/33587-03.htm | 4 +- .../ai/others/MentorGuide/33587-05.htm | 4 +- .../ai/others/MentorGuide/33587-06.htm | 6 +- .../ai/others/MentorGuide/33587-07.htm | 6 +- .../ClassTransferTalk/30505-06.html | 2 +- .../ClassTransferTalk/30505-10.html | 2 +- .../ClassTransferTalk/30505-11.html | 2 +- .../scripts/events/LegendsMark/34588-1.html | 2 +- .../scripts/events/LegendsMark/34588-2.html | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../dist/game/config/AdminCommands.xml | 3 + .../dist/game/data/html/admin/server_menu.htm | 2 +- .../dist/game/data/html/admin/serverinfo.htm | 129 +++++++++++ .../game/data/html/clanHallManager/manage.htm | 2 +- .../handler/AdminCommandHandler.java | 2 + .../admincommandhandlers/AdminServerInfo.java | 168 ++++++++++++++ .../taskmanager/GameTimeTaskManager.java | 10 + .../dist/game/config/AdminCommands.xml | 3 + .../dist/game/data/html/admin/server_menu.htm | 2 +- .../dist/game/data/html/admin/serverinfo.htm | 129 +++++++++++ .../game/data/html/clanHallManager/manage.htm | 2 +- .../handler/AdminCommandHandler.java | 2 + .../admincommandhandlers/AdminServerInfo.java | 168 ++++++++++++++ .../taskmanager/GameTimeTaskManager.java | 10 + .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../dist/game/data/html/guard/32136.htm | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../ai/others/GameAssistant/events.html | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- .../data/html/admin/castlemanage_selected.htm | 6 +- .../admin/grandboss/grandboss_antharas.htm | 2 +- .../html/admin/grandboss/grandboss_baium.htm | 2 +- .../html/admin/grandboss/grandboss_core.htm | 2 +- .../html/admin/grandboss/grandboss_orfen.htm | 2 +- .../admin/grandboss/grandboss_queenant.htm | 2 +- .../admin/grandboss/grandboss_valakas.htm | 2 +- .../dist/game/data/html/admin/pccafe.htm | 4 +- .../dist/game/data/html/admin/primepoints.htm | 4 +- .../dist/game/data/html/admin/serverinfo.htm | 206 +++++++++++------- .../ai/others/GameAssistant/events.html | 2 +- .../admincommandhandlers/AdminServerInfo.java | 34 ++- 328 files changed, 4620 insertions(+), 2294 deletions(-) create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/serverinfo.htm create mode 100644 L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/admincommandhandlers/AdminServerInfo.java create mode 100644 L2J_Mobius_C6_Interlude/dist/game/data/html/admin/serverinfo.htm create mode 100644 L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/admincommandhandlers/AdminServerInfo.java diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/guard/32136.htm b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/html/guard/32136.htm b/L2J_Mobius_02.5_Underground/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_02.5_Underground/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/html/guard/32136.htm b/L2J_Mobius_03.0_Helios/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm index eb438fb11e..135be38dc5 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm @@ -1,3 +1,3 @@ Namo:
-While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
\ No newline at end of file diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm index 47a1aa46a5..bc5bebec99 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm @@ -1,4 +1,4 @@ Namo:
-I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
-We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. +I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
+We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/guard/32136.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm index eb438fb11e..135be38dc5 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm @@ -1,3 +1,3 @@ Namo:
-While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
\ No newline at end of file diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm index 47a1aa46a5..bc5bebec99 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm @@ -1,4 +1,4 @@ Namo:
-I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
-We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. +I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
+We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/html/guard/32136.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm index eb438fb11e..135be38dc5 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm @@ -1,3 +1,3 @@ Namo:
-While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
\ No newline at end of file diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm index 47a1aa46a5..bc5bebec99 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm @@ -1,4 +1,4 @@ Namo:
-I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
-We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. +I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
+We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/guard/32136.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm index eb438fb11e..135be38dc5 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm @@ -1,3 +1,3 @@ Namo:
-While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
\ No newline at end of file diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm index 47a1aa46a5..bc5bebec99 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm @@ -1,4 +1,4 @@ Namo:
-I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
-We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. +I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
+We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm index b7777248b3..9237ab966f 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm @@ -9,7 +9,7 @@
Status:


-Fafurion
+Fafurion
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/guard/32136.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm index eb438fb11e..135be38dc5 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10531_OddHappeningsAtDragonValley/33973-04.htm @@ -1,3 +1,3 @@ Namo:
-While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
+While it's not too meaningful in itself to lay down boundaries in Dragon Valley, its a necessary step of the investigation. So for now, I want to send you to the less dangerous region to reduce the numbers of dragons and Undead there. On the west side of Dragon Valley, you'll find Mesmer Dragon, Gargoyle Dragon, Black Dragon, Esmerald Dragon, Sand Dragon, Dragonblood Captain, Dragonblood Minion, Cave Servant Archer, Cave Servant Warrior, Metal Cave Servant, Iron Cave Servant and Headless Knight. You need to slay 200 of them. While you eliminate the threats that get in the way of the investigation, we will strive to identify the cause and come you with a plan.
\ No newline at end of file diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm index 47a1aa46a5..bc5bebec99 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/quests/Q10532_UncoveringTheConspiracy/33973-04.htm @@ -1,4 +1,4 @@ Namo:
-I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
-We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. +I may have exaggerated a bit, but what you have to do is very simple. Dispose of the dragons and undead in the east of Dragon Valley to get an idea of what's going on.
+We can get an idea of the situation by slaying 200 Prey Drakes, Beast Drakes, Dust Drakes, Vampiric Drakes, Bloody Grave Warriors, Dark Grave Warriors, Drak Grave Wizards, and Dark Grave Humans Knights. \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm index b7777248b3..9237ab966f 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm @@ -9,7 +9,7 @@
Status:


-Fafurion
+Fafurion
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/default/30342.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/default/30342.htm index c3424d7dc1..b09c9ab77c 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/default/30342.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/default/30342.htm @@ -1,4 +1,4 @@ Varsak:
Have you ever looked closely at a dead man's face? The face of a living person constantly changes from one emotion to another. But it's different with dead people. Their face freezes at the moment of death. Some corpses look scared, some look amazed, but there are people who meet death calmly... It seems that you find this topic unpleasant. We will all die some day, so why avoid talking about death?
-I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
+I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
\ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/guard/32136.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html index d77b52c20a..116d7dffae 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html @@ -1,5 +1,5 @@ Dual Class Master Raina:

You cannot get Dual Class at the time. Ask another question or return when the time comes.
-(Only characters of Lv. 85 or higher can get a Dual Class.) +(Only characters of Lv. 85 or higher can get a Dual Class.) \ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm index 683474867f..14333b445d 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm @@ -2,7 +2,7 @@ Here is information about items that can be obtained after finishing mentee's training and in exchange for Mentee's Marks.
When you join a clan and complete a clan mission, you can receive Scroll: Enchant Atlas' Earring.
- + @@ -16,7 +16,7 @@ When you join a clan and complete a clan mission, you can receive Scroll: Enchan
Mentor's Reward
Mentor's Reward
R-grade Soulshot
Blessed R-grade Spiritshot
Freya's Ice Rose
Atlas' Earring



- + diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm index c57fe65412..60101a8c27 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm @@ -1,9 +1,9 @@ Mentor Guide:
-You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
+You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
For example, after becoming a Mentor in the Mentorship tab you can choose characters that would be your Mentees.
-Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. +Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. After a Mentee finishes their Mentor can't take on new Mentees for a day. After discontinuing Mentorship for some other reason, a Mentor can't take on new Mentees for two days.
\ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm index 177aa4a9c0..43a54fe483 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm @@ -1,11 +1,11 @@ Mentor Guide:
-A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
-[The amount of Mentee's Marks for reaching different levels] +A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
+[The amount of Mentee's Marks for reaching different levels] Lv. 85: 5000 Lv. 99: 10,000 Lv. 103: 25,000 Lv. 105: 60,000
After taking your marks from a letter, don't forget to delete it. If your mailbox is full, you won't be able to receive new items.
-If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
+If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
\ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm index 26268cadb9..a55dbe742a 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm @@ -1,9 +1,9 @@ Mentor Guide:
-1. The mentor buff is called Mentee's Appreciation. +1. The mentor buff is called Mentee's Appreciation. It grants acquired XP/ SP +5% to the mentor. Applied only when mentee is logged in.
-2. The mentee buff. +2. The mentee buff. A mentee taught by a mentor gets 4 buffs of Melody, 3 buffs of Sonatas and 1 buff of Harmony. The buffs are activated when the mentor is logged in and remain 5 min. after his/ her log out.
-3. The buff that summons mentor and enhances mentee's stats. +3. The buff that summons mentor and enhances mentee's stats. Being a mentor you can teach your mentee useful skills.
However, it's very difficult to teach somebody if you are too far away. And so the mentee is granted a skill that allows them to teleport their mentor to themselves.
Mentee's Mentor Summon and Mentor's Art of Seduction can be found in the skill window, in the Clan/ Hero/ Mentorship Skills section.
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html index f5cd1d0eaf..724cb878b2 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html @@ -1,5 +1,5 @@ High Prefect Drikus:
Basically, to become a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
+To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html index 1d9a74951d..1cb3f9a042 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html @@ -1,4 +1,4 @@ High Prefect Drikus:
To become an Orc Raider, the appropriate level and token are required. Your level must be at least 20 to qualify for a class transfer. You also need a token, to prove you have passed the Test of the Orc Raider.
-However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
+However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html index 8c38792fca..5a33ce1acd 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html @@ -1,4 +1,4 @@ High Prefect Drikus:
Basically, to be qualified for a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
+However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
\ No newline at end of file diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@
Items for Mentee's Marks
Items for Mentee's Marks
Expert's Mask
Scroll: Enchant Expert's Mask
Freya's Ice Rose
- + - + - + diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Baium
+Baium
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm index b7777248b3..9237ab966f 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm @@ -9,7 +9,7 @@
Status:


-Fafurion
+Fafurion
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/default/30342.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/default/30342.htm index c3424d7dc1..b09c9ab77c 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/default/30342.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/default/30342.htm @@ -1,4 +1,4 @@ Varsak:
Have you ever looked closely at a dead man's face? The face of a living person constantly changes from one emotion to another. But it's different with dead people. Their face freezes at the moment of death. Some corpses look scared, some look amazed, but there are people who meet death calmly... It seems that you find this topic unpleasant. We will all die some day, so why avoid talking about death?
-I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
+I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
\ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/guard/32136.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html index d77b52c20a..116d7dffae 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html @@ -1,5 +1,5 @@ Dual Class Master Raina:

You cannot get Dual Class at the time. Ask another question or return when the time comes.
-(Only characters of Lv. 85 or higher can get a Dual Class.) +(Only characters of Lv. 85 or higher can get a Dual Class.) \ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm index 683474867f..14333b445d 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm @@ -2,7 +2,7 @@ Here is information about items that can be obtained after finishing mentee's training and in exchange for Mentee's Marks.
When you join a clan and complete a clan mission, you can receive Scroll: Enchant Atlas' Earring.
- + @@ -16,7 +16,7 @@ When you join a clan and complete a clan mission, you can receive Scroll: Enchan
Mentor's Reward
Mentor's Reward
R-grade Soulshot
Blessed R-grade Spiritshot
Freya's Ice Rose
Atlas' Earring



- + diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm index c57fe65412..60101a8c27 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm @@ -1,9 +1,9 @@ Mentor Guide:
-You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
+You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
For example, after becoming a Mentor in the Mentorship tab you can choose characters that would be your Mentees.
-Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. +Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. After a Mentee finishes their Mentor can't take on new Mentees for a day. After discontinuing Mentorship for some other reason, a Mentor can't take on new Mentees for two days.
\ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm index 177aa4a9c0..43a54fe483 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm @@ -1,11 +1,11 @@ Mentor Guide:
-A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
-[The amount of Mentee's Marks for reaching different levels] +A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
+[The amount of Mentee's Marks for reaching different levels] Lv. 85: 5000 Lv. 99: 10,000 Lv. 103: 25,000 Lv. 105: 60,000
After taking your marks from a letter, don't forget to delete it. If your mailbox is full, you won't be able to receive new items.
-If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
+If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
\ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm index 26268cadb9..a55dbe742a 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm @@ -1,9 +1,9 @@ Mentor Guide:
-1. The mentor buff is called Mentee's Appreciation. +1. The mentor buff is called Mentee's Appreciation. It grants acquired XP/ SP +5% to the mentor. Applied only when mentee is logged in.
-2. The mentee buff. +2. The mentee buff. A mentee taught by a mentor gets 4 buffs of Melody, 3 buffs of Sonatas and 1 buff of Harmony. The buffs are activated when the mentor is logged in and remain 5 min. after his/ her log out.
-3. The buff that summons mentor and enhances mentee's stats. +3. The buff that summons mentor and enhances mentee's stats. Being a mentor you can teach your mentee useful skills.
However, it's very difficult to teach somebody if you are too far away. And so the mentee is granted a skill that allows them to teleport their mentor to themselves.
Mentee's Mentor Summon and Mentor's Art of Seduction can be found in the skill window, in the Clan/ Hero/ Mentorship Skills section.
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html index f5cd1d0eaf..724cb878b2 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html @@ -1,5 +1,5 @@ High Prefect Drikus:
Basically, to become a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
+To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html index 1d9a74951d..1cb3f9a042 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html @@ -1,4 +1,4 @@ High Prefect Drikus:
To become an Orc Raider, the appropriate level and token are required. Your level must be at least 20 to qualify for a class transfer. You also need a token, to prove you have passed the Test of the Orc Raider.
-However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
+However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html index 8c38792fca..5a33ce1acd 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html @@ -1,4 +1,4 @@ High Prefect Drikus:
Basically, to be qualified for a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
+However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
\ No newline at end of file diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@
Items for Mentee's Marks
Items for Mentee's Marks
Expert's Mask
Scroll: Enchant Expert's Mask
Freya's Ice Rose
- + - + - + diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Baium
+Baium
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm index b7777248b3..9237ab966f 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm @@ -9,7 +9,7 @@
Status:


-Fafurion
+Fafurion
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/default/30342.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/default/30342.htm index c3424d7dc1..b09c9ab77c 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/default/30342.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/default/30342.htm @@ -1,4 +1,4 @@ Varsak:
Have you ever looked closely at a dead man's face? The face of a living person constantly changes from one emotion to another. But it's different with dead people. Their face freezes at the moment of death. Some corpses look scared, some look amazed, but there are people who meet death calmly... It seems that you find this topic unpleasant. We will all die some day, so why avoid talking about death?
-I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
+I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
\ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/guard/32136.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html index d77b52c20a..116d7dffae 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html @@ -1,5 +1,5 @@ Dual Class Master Raina:

You cannot get Dual Class at the time. Ask another question or return when the time comes.
-(Only characters of Lv. 85 or higher can get a Dual Class.) +(Only characters of Lv. 85 or higher can get a Dual Class.) \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm index 683474867f..14333b445d 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm @@ -2,7 +2,7 @@ Here is information about items that can be obtained after finishing mentee's training and in exchange for Mentee's Marks.
When you join a clan and complete a clan mission, you can receive Scroll: Enchant Atlas' Earring.
- + @@ -16,7 +16,7 @@ When you join a clan and complete a clan mission, you can receive Scroll: Enchan
Mentor's Reward
Mentor's Reward
R-grade Soulshot
Blessed R-grade Spiritshot
Freya's Ice Rose
Atlas' Earring



- + diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm index c57fe65412..60101a8c27 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm @@ -1,9 +1,9 @@ Mentor Guide:
-You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
+You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
For example, after becoming a Mentor in the Mentorship tab you can choose characters that would be your Mentees.
-Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. +Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. After a Mentee finishes their Mentor can't take on new Mentees for a day. After discontinuing Mentorship for some other reason, a Mentor can't take on new Mentees for two days.
\ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm index 177aa4a9c0..43a54fe483 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm @@ -1,11 +1,11 @@ Mentor Guide:
-A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
-[The amount of Mentee's Marks for reaching different levels] +A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
+[The amount of Mentee's Marks for reaching different levels] Lv. 85: 5000 Lv. 99: 10,000 Lv. 103: 25,000 Lv. 105: 60,000
After taking your marks from a letter, don't forget to delete it. If your mailbox is full, you won't be able to receive new items.
-If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
+If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
\ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm index 26268cadb9..a55dbe742a 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm @@ -1,9 +1,9 @@ Mentor Guide:
-1. The mentor buff is called Mentee's Appreciation. +1. The mentor buff is called Mentee's Appreciation. It grants acquired XP/ SP +5% to the mentor. Applied only when mentee is logged in.
-2. The mentee buff. +2. The mentee buff. A mentee taught by a mentor gets 4 buffs of Melody, 3 buffs of Sonatas and 1 buff of Harmony. The buffs are activated when the mentor is logged in and remain 5 min. after his/ her log out.
-3. The buff that summons mentor and enhances mentee's stats. +3. The buff that summons mentor and enhances mentee's stats. Being a mentor you can teach your mentee useful skills.
However, it's very difficult to teach somebody if you are too far away. And so the mentee is granted a skill that allows them to teleport their mentor to themselves.
Mentee's Mentor Summon and Mentor's Art of Seduction can be found in the skill window, in the Clan/ Hero/ Mentorship Skills section.
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html index f5cd1d0eaf..724cb878b2 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html @@ -1,5 +1,5 @@ High Prefect Drikus:
Basically, to become a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
+To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html index 1d9a74951d..1cb3f9a042 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html @@ -1,4 +1,4 @@ High Prefect Drikus:
To become an Orc Raider, the appropriate level and token are required. Your level must be at least 20 to qualify for a class transfer. You also need a token, to prove you have passed the Test of the Orc Raider.
-However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
+However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html index 8c38792fca..5a33ce1acd 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html @@ -1,4 +1,4 @@ High Prefect Drikus:
Basically, to be qualified for a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
+However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
\ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-1.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-1.html index 3b11ce09b9..4bd1308c2f 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-1.html +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-1.html @@ -1,6 +1,6 @@ Dreamer of the Legend Tittle:
-Complete certain clan missions or collect Prophecy Fragment in some hunting zones.
+Complete certain clan missions or collect Prophecy Fragment in some hunting zones.
Bring them to me, and I will be able to tell who is mentioned there.
If you get Legend's Marks while deciphering the Prophecy Fragments, you can add them to a collection.
After completing the collection, you will get a buff: P.Atk./M.Atk./P.Def./M.Def. +5%
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-2.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-2.html index 04aa7f446c..aa52b15b1a 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-2.html +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/LegendsMark/34588-2.html @@ -1,5 +1,5 @@ Dreamer of the Legend Tittle:
-After you complete the Legend's Mark Collection, you will get a buff: P.Atk./M.Atk./P.Def./M.Def. +5%.
+After you complete the Legend's Mark Collection, you will get a buff: P.Atk./M.Atk./P.Def./M.Def. +5%.
Are you sure that you don't ned Legend's Marks?
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@
Items for Mentee's Marks
Items for Mentee's Marks
Expert's Mask
Scroll: Enchant Expert's Mask
Freya's Ice Rose
- + - + - + diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Baium
+Baium
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm index b7777248b3..9237ab966f 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_fafurion.htm @@ -9,7 +9,7 @@
Status:


-Fafurion
+Fafurion
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/default/30342.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/default/30342.htm index c3424d7dc1..b09c9ab77c 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/default/30342.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/default/30342.htm @@ -1,4 +1,4 @@ Varsak:
Have you ever looked closely at a dead man's face? The face of a living person constantly changes from one emotion to another. But it's different with dead people. Their face freezes at the moment of death. Some corpses look scared, some look amazed, but there are people who meet death calmly... It seems that you find this topic unpleasant. We will all die some day, so why avoid talking about death?
-I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
+I've been around dead people since I was a child, so death doesn't faze me anymore. I come from a long line of undertakers. But we haven't had a lot of business since the priests of Einhasad have started burning corpses. Nobody want to bury their dead anymore. It's viewed as an archaic custom, so very few people actually want to do that.
\ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/guard/32136.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/guard/32136.htm index ae116f9db6..1654fd9174 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
\ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html index d77b52c20a..116d7dffae 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/areas/TalkingIsland/Raina/addDualClassErtheiaFailed.html @@ -1,5 +1,5 @@ Dual Class Master Raina:

You cannot get Dual Class at the time. Ask another question or return when the time comes.
-(Only characters of Lv. 85 or higher can get a Dual Class.) +(Only characters of Lv. 85 or higher can get a Dual Class.) \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm index 683474867f..14333b445d 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-03.htm @@ -2,7 +2,7 @@ Here is information about items that can be obtained after finishing mentee's training and in exchange for Mentee's Marks.
When you join a clan and complete a clan mission, you can receive Scroll: Enchant Atlas' Earring.
- + @@ -16,7 +16,7 @@ When you join a clan and complete a clan mission, you can receive Scroll: Enchan
Mentor's Reward
Mentor's Reward
R-grade Soulshot
Blessed R-grade Spiritshot
Freya's Ice Rose
Atlas' Earring



- + diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm index c57fe65412..60101a8c27 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-05.htm @@ -1,9 +1,9 @@ Mentor Guide:
-You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
+You can offer another character to be their Mentor by opening the Friend Manager and pressing the + button in the Mentorship tab.
For example, after becoming a Mentor in the Mentorship tab you can choose characters that would be your Mentees.
-Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. +Not every character can become a Mentor or a Mentee. A character can only become a Mentor if they had already gone through Awakening and reached Lv. 105. A potential Mentee can't be higher that Lv.104. After a Mentee finishes their Mentor can't take on new Mentees for a day. After discontinuing Mentorship for some other reason, a Mentor can't take on new Mentees for two days.
\ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm index 177aa4a9c0..43a54fe483 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-06.htm @@ -1,11 +1,11 @@ Mentor Guide:
-A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
-[The amount of Mentee's Marks for reaching different levels] +A mentor can take up to 3 mentees. Every time when a mentee levels up, their mentor gets Mentee's Marks by mail. These marks can be traded for valuable items.
+[The amount of Mentee's Marks for reaching different levels] Lv. 85: 5000 Lv. 99: 10,000 Lv. 103: 25,000 Lv. 105: 60,000
After taking your marks from a letter, don't forget to delete it. If your mailbox is full, you won't be able to receive new items.
-If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
+If both the Mentor and the Mentee are playing at the same time, the former receives powerful buffs while the latter gets a bonus to acquired XP/SP.
\ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm index 26268cadb9..a55dbe742a 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/MentorGuide/33587-07.htm @@ -1,9 +1,9 @@ Mentor Guide:
-1. The mentor buff is called Mentee's Appreciation. +1. The mentor buff is called Mentee's Appreciation. It grants acquired XP/ SP +5% to the mentor. Applied only when mentee is logged in.
-2. The mentee buff. +2. The mentee buff. A mentee taught by a mentor gets 4 buffs of Melody, 3 buffs of Sonatas and 1 buff of Harmony. The buffs are activated when the mentor is logged in and remain 5 min. after his/ her log out.
-3. The buff that summons mentor and enhances mentee's stats. +3. The buff that summons mentor and enhances mentee's stats. Being a mentor you can teach your mentee useful skills.
However, it's very difficult to teach somebody if you are too far away. And so the mentee is granted a skill that allows them to teleport their mentor to themselves.
Mentee's Mentor Summon and Mentor's Art of Seduction can be found in the skill window, in the Clan/ Hero/ Mentorship Skills section.
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html index f5cd1d0eaf..724cb878b2 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-06.html @@ -1,5 +1,5 @@ High Prefect Drikus:
Basically, to become a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
+To take the Test of the Monk, seek the Orc named Gantaki Zu Urutu of the Orc Village. He will tell you everything you need to know. After you pass the test, come to me and I will change your class. Use the Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html index 1d9a74951d..1cb3f9a042 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-10.html @@ -1,4 +1,4 @@ High Prefect Drikus:
To become an Orc Raider, the appropriate level and token are required. Your level must be at least 20 to qualify for a class transfer. You also need a token, to prove you have passed the Test of the Orc Raider.
-However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
+However, it seems that your level is not high enough, and you have not yet passed the Test of the Orc Raider. First, work to raise your level to 20 or higher. To take the Test of the Orc Raider, go to Prefect Karukia of the Orc Village. She will tell you everything you need to know. If you pass the test and come back, I will change your class. To get to the Orc Village, first go to Gludio, then use a Gatekeeper to go to the Orc Village.
\ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html index 8c38792fca..5a33ce1acd 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/VillageMasters/ClassTransferTalk/30505-11.html @@ -1,4 +1,4 @@ High Prefect Drikus:
Basically, to be qualified for a Monk, your level must be at least 20 and you must pass the Test of the Monk.
-However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
+However, it seems that your level is not high enough, and you have not yet passed the test of Monk. First, work to raise your level to 20 or higher. To take the Test of the Monk, seek the Orc named Gandaki Zu Urutu of the Orc village. He will tell you everything you need to know. After you pass the test, come to me and I will change your profession. Use the Gatekeeper to go to the Orc village.
\ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-1.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-1.html index 3b11ce09b9..4bd1308c2f 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-1.html +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-1.html @@ -1,6 +1,6 @@ Dreamer of the Legend Tittle:
-Complete certain clan missions or collect Prophecy Fragment in some hunting zones.
+Complete certain clan missions or collect Prophecy Fragment in some hunting zones.
Bring them to me, and I will be able to tell who is mentioned there.
If you get Legend's Marks while deciphering the Prophecy Fragments, you can add them to a collection.
After completing the collection, you will get a buff: P.Atk./M.Atk./P.Def./M.Def. +5%
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-2.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-2.html index 04aa7f446c..aa52b15b1a 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-2.html +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/events/LegendsMark/34588-2.html @@ -1,5 +1,5 @@ Dreamer of the Legend Tittle:
-After you complete the Legend's Mark Collection, you will get a buff: P.Atk./M.Atk./P.Def./M.Def. +5%.
+After you complete the Legend's Mark Collection, you will get a buff: P.Atk./M.Atk./P.Def./M.Def. +5%.
Are you sure that you don't ned Legend's Marks?
diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/config/AdminCommands.xml b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/config/AdminCommands.xml index f1dac1bc0f..48b55d383d 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/config/AdminCommands.xml +++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/config/AdminCommands.xml @@ -364,6 +364,9 @@ + + + diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/server_menu.htm b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/server_menu.htm index 48c285aeb2..7f020c9b7e 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/server_menu.htm +++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/server_menu.htm @@ -45,7 +45,7 @@
Items for Mentee's Marks
Items for Mentee's Marks
Expert's Mask
Scroll: Enchant Expert's Mask
Freya's Ice Rose
Maintenance - + diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/serverinfo.htm new file mode 100644 index 0000000000..c802e5a4fc --- /dev/null +++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/admin/serverinfo.htm @@ -0,0 +1,129 @@ + + +
+
+
+ + + + + +
+
Server Info
+
+
+ Memory: + + + + + + + + + + + + + + +
Used Memory:%usedMem%
Free Memory:%freeMem%
Total Memory:%totalMem%
+
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/clanHallManager/manage.htm b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/clanHallManager/manage.htm index d9dc6d9331..2ba8d3dfdb 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/clanHallManager/manage.htm +++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/html/clanHallManager/manage.htm @@ -1,5 +1,5 @@
-[Manage Clan Hall Facilities]

+[Manage Clan Hall Facilities]

+ + \ No newline at end of file diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/html/clanHallManager/manage.htm b/L2J_Mobius_C6_Interlude/dist/game/data/html/clanHallManager/manage.htm index d9dc6d9331..2ba8d3dfdb 100644 --- a/L2J_Mobius_C6_Interlude/dist/game/data/html/clanHallManager/manage.htm +++ b/L2J_Mobius_C6_Interlude/dist/game/data/html/clanHallManager/manage.htm @@ -1,5 +1,5 @@
-[Manage Clan Hall Facilities]

+[Manage Clan Hall Facilities]

- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/html/guard/32136.htm b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/html/guard/32136.htm index bd836b5626..2907741a12 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
See information on permanent residence and tax rates.
Quest. \ No newline at end of file diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@

-Antharas
+Antharas
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
-
Status:
- - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
- - \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/guard/32136.htm b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/guard/32136.htm index bd836b5626..2907741a12 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/guard/32136.htm +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/html/guard/32136.htm @@ -1,6 +1,6 @@ Marksman Basil:
May you be blessed as you depart on your journey!
This is an exciting time, but take care that you do not forget your roots. We will always remember you!
-When you go below the Cave of Souls, Kamael Village will appear.
+When you go below the Cave of Souls, Kamael Village will appear.
See information on permanent residence and tax rates.
Quest. \ No newline at end of file diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@ - + - + - + diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/GameAssistant/events.html b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/GameAssistant/events.html index b3b3061a08..fa415148ed 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/GameAssistant/events.html +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/ai/others/GameAssistant/events.html @@ -12,7 +12,7 @@ - + diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true; diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/castlemanage_selected.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/castlemanage_selected.htm index 674dab0b71..a8039dd9bf 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/castlemanage_selected.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/castlemanage_selected.htm @@ -12,15 +12,15 @@
EventEvent
- + - + - + diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_antharas.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_antharas.htm index 282b25011c..5ef0abd583 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_antharas.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_antharas.htm @@ -9,7 +9,7 @@
Owner:%ownerName%%ownerName%
Clan:%ownerClan%%ownerClan%
Castle Side:%castleSide%%castleSide%
Siege Info:


-Antharas
+Antharas
diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_baium.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_baium.htm index 234cbebc4c..437c49cf02 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_baium.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_baium.htm @@ -9,7 +9,7 @@
Status:


-Baium
+Baium
diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_core.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_core.htm index eed9612116..54a99efc56 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_core.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_core.htm @@ -9,7 +9,7 @@
Status:


-Core
+Core
diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_orfen.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_orfen.htm index e84ebe87cc..bc2a799921 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_orfen.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_orfen.htm @@ -9,7 +9,7 @@
Status:


-Orfen
+Orfen
diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_queenant.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_queenant.htm index d12f2ee08c..8cbcc5e1f6 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_queenant.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_queenant.htm @@ -9,7 +9,7 @@
Status:


-Queen ant
+Queen ant
diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_valakas.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_valakas.htm index df08f36ac2..9c8f534547 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_valakas.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/grandboss/grandboss_valakas.htm @@ -9,7 +9,7 @@
Status:


-Valakas
+Valakas
diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/pccafe.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/pccafe.htm index 62826bbd5a..0119592ab9 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/pccafe.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/pccafe.htm @@ -12,11 +12,11 @@
Status:
- + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/primepoints.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/primepoints.htm index 87ee7518a5..906edad5fa 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/primepoints.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/primepoints.htm @@ -12,11 +12,11 @@ - + - +
Player Name:%targetName%%targetName%
Player Points:%points%%points%

diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/serverinfo.htm b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/serverinfo.htm index 84dd350f5c..b28cb0739f 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/serverinfo.htm +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/html/admin/serverinfo.htm @@ -1,79 +1,129 @@ -Admin Server Info -
- - - - - - -
Server Info
-
-General: - - - - - + + Admin Server Info + +
+
OS:%os_name%
+ + + + + +
+
Server Info
+
+
+ Memory: + + - - - - - - - - - - - - - - - - - - - - - - - -
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
-
-Players: - - - - - - - - - - - - - - - - - -
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
-
-Memory: - - - - - - - - - - - - - -
Used Memory:%usedMem% MB
Free Memory:%freeMem% MB
Total Memory:%totalMem% MB
-
- \ No newline at end of file + Used Memory: + %usedMem% + + + Free Memory: + %freeMem% + + + Total Memory: + %totalMem% + + +
+ Threads: + + + + + + + + + + + + + + + + + + + + + + +
Live:%live%
Non-Daemon:%nondaemon%
Daemon:%daemon%
Peak:%peak%
Total started:%totalstarted%
+
+ Garbage Collector: + + + + + + + + + + + + + + +
Type:%gcol%
Count:%colcount%
Time:%coltime%
+
+ Players: + + + + + + + + + + + + + + + + + + +
Total players count:%onlineAll%
Offline trade count:%offlineTrade%
Online GM count:%onlineGM%
Real player count:%onlineReal%
+
+ General: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OS:%os_name%
OS version:%os_ver%
Server slots:%slots%
Server UpTime:%serverUpTime%
Server Time:%serverTime%
Game Time:%gameTime% (%dayNight%)
Pathfinding:%geodata%
+ + + \ No newline at end of file diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/ai/others/GameAssistant/events.html b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/ai/others/GameAssistant/events.html index b3b3061a08..fa415148ed 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/ai/others/GameAssistant/events.html +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/ai/others/GameAssistant/events.html @@ -12,7 +12,7 @@ - + diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java index dc44706964..4512f41233 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/dist/game/data/scripts/handlers/admincommandhandlers/AdminServerInfo.java @@ -16,6 +16,11 @@ */ package handlers.admincommandhandlers; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryMXBean; +import java.lang.management.MemoryUsage; +import java.lang.management.ThreadMXBean; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; @@ -40,6 +45,8 @@ import org.l2jmobius.gameserver.taskmanager.GameTimeTaskManager; public class AdminServerInfo implements IAdminCommandHandler { private static final SimpleDateFormat SDF = new SimpleDateFormat("hh:mm a"); + private static final MemoryMXBean MEMORY_MX_BEAN = ManagementFactory.getMemoryMXBean(); + private static final ThreadMXBean THREAD_MX_BEAN = ManagementFactory.getThreadMXBean(); private static final String[] ADMIN_COMMANDS = { @@ -51,9 +58,15 @@ public class AdminServerInfo implements IAdminCommandHandler { if (command.equals("admin_serverinfo")) { + final MemoryUsage heapMemoryUsage = MEMORY_MX_BEAN.getHeapMemoryUsage(); + final long freeMemory = heapMemoryUsage.getMax() - heapMemoryUsage.getUsed(); + final int threadCount = THREAD_MX_BEAN.getThreadCount(); + final int daemonCount = THREAD_MX_BEAN.getThreadCount(); + final int nonDaemonCount = threadCount - daemonCount; + final int peakCount = THREAD_MX_BEAN.getPeakThreadCount(); + final long totalCount = THREAD_MX_BEAN.getTotalStartedThreadCount(); + final NpcHtmlMessage html = new NpcHtmlMessage(); - final Runtime runTime = Runtime.getRuntime(); - final int mb = 1024 * 1024; html.setHtml(HtmCache.getInstance().getHtm(activeChar, "data/html/admin/serverinfo.htm")); html.replace("%os_name%", System.getProperty("os.name")); html.replace("%os_ver%", System.getProperty("os.version")); @@ -67,9 +80,20 @@ public class AdminServerInfo implements IAdminCommandHandler html.replace("%offlineTrade%", getPlayersCount("OFF_TRADE")); html.replace("%onlineGM%", getPlayersCount("GM")); html.replace("%onlineReal%", getPlayersCount("ALL_REAL")); - html.replace("%usedMem%", (runTime.maxMemory() / mb) - (((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb)); - html.replace("%freeMem%", ((runTime.maxMemory() - runTime.totalMemory()) + runTime.freeMemory()) / mb); - html.replace("%totalMem%", Runtime.getRuntime().maxMemory() / 1048576); + html.replace("%usedMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getUsed() / 0x100000) + " Mb"); + html.replace("%freeMem%", (freeMemory / 0x100000) + " Mb"); + html.replace("%totalMem%", (MEMORY_MX_BEAN.getHeapMemoryUsage().getMax() / 0x100000) + " Mb"); + html.replace("%live%", threadCount); + html.replace("%nondaemon%", nonDaemonCount); + html.replace("%daemon%", daemonCount); + html.replace("%peak%", peakCount); + html.replace("%totalstarted%", totalCount); + for (GarbageCollectorMXBean gcBean : ManagementFactory.getGarbageCollectorMXBeans()) + { + html.replace("%gcol%", gcBean.getName()); + html.replace("%colcount%", gcBean.getCollectionCount()); + html.replace("%coltime%", gcBean.getCollectionTime()); + } activeChar.sendPacket(html); } return true;
EventEvent