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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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/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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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/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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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/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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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/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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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/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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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/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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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/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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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.
-
Mentor's Reward
+
Mentor's Reward
R-grade Soulshot
Blessed R-grade Spiritshot
Freya's Ice Rose
@@ -16,7 +16,7 @@ When you join a clan and complete a clan mission, you can receive Scroll: Enchan
Atlas' Earring
-
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_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 @@
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:
-
-
-
OS:
-
%os_name%
-
+
+ Admin Server Info
+
+
+
+
+
+
+
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.
-
Mentor's Reward
+
Mentor's Reward
R-grade Soulshot
Blessed R-grade Spiritshot
Freya's Ice Rose
@@ -16,7 +16,7 @@ When you join a clan and complete a clan mission, you can receive Scroll: Enchan
Atlas' Earring
-
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/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