utils

Functions:

clock

utils.clock(): number

Returns the program running time (milliseconds).

run_timer

utils.run_timer(delay: number, period: number, callback: function[, ...]): number

Name
Type
Description

delay

number

Initial delay before executing the callback function in seconds

period

number

Interval time between executing callback functions in seconds

callback

function

Lua function to execute

...

any

Additional arguments that will be passed to the callback function

Creates a timer for repeated execution. Returns a task ID.

run_timer_once

utils.run_timer_once(delay: number, callback: function[, ...]): number

Name
Type
Description

delay

number

Delay before executing the callback function in seconds

callback

function

Lua function to execute

...

any

Additional arguments that will be passed to the callback function

Create a single execution timer. Returns a task ID.

This task will automatically clean up after execution and does not require manual cancellation, but you can cancel it before execution.

cancel_timer

utils.cancel_timer(taskid: number): boolean

Name
Type
Description

taskid

number

Task ID to be cancelled

Cancels the specified timer task. Returns false only when an exception is thrown.

This means that even if the task does not exist, it will still return true.

get_all_perf

utils.get_all_perf(): perf_data

Gets all performance data, including servers, Java and system information.. Returns a perf_data table containing this data.

get_server_perf

utils.get_server_perf(): table

Gets server performance data. Returns a table containing this data.

get_java_perf

utils.get_java_perf(): table

Gets Java performance data. Returns a table containing this data.

get_system_perf

utils.get_system_perf(): table

Gets system performance data. Returns a table containing this data.

get_tps

utils.get_tps(): table

Get the tick of the server per second. Returns a table containing three number values. They are the average TPS within 1, 5, and 15 minutes.

Structs:

perf_data


perf_data
-- all_perf
{
  timestamp = number,      -- Timestamp
  data = {
    server = { ... },      -- Server performance data
    java = { ... },        -- Java performance data
    system = { ... }       -- System performance data
  }
}
server
-- server
{
  total_entities = number,           -- Total number of entities
  living_entities = number,          -- Number of living entities
  loaded_chunks = number,            -- Number of loaded chunks
  worlds = {                         -- Array of world information
    {
      name = string,                 -- World name
      type = string,                 -- World type (NORMAL, NETHER, THE_END, etc.)
      entities = number,             -- Number of entities
      living_entities = number,      -- Number of living entities
      loaded_chunks = number,        -- Number of loaded chunks
      players = number,              -- Number of players
      time = number,                 -- World time
      full_time = number,            -- Full time
      has_storm = boolean,           -- Whether there is a storm
      is_thundering = boolean        -- Whether it is thundering
    }
  },
  tps = {
    ["1m"] = number,                 -- 1-minute average TPS
    ["5m"] = number,                 -- 5-minute average TPS
    ["15m"] = number                 -- 15-minute average TPS
  },
  server_name = string,              -- Server name
  server_version = string,           -- Server version
  bukkit_version = string,           -- Bukkit version
  plugin_count = number              -- Number of plugins
}
java
-- java (Memory is in bytes)
{
  memory = {
    heap = {
      used = number,                 -- Used heap memory
      committed = number,           -- Committed heap memory
      free = number,                 -- Free heap memory
      max = number                 -- Maximum heap memory
    },
    non_heap = {
      used = number,                -- Used non-heap memory
      committed = number,           -- Committed non-heap memory
    },
    total = {
      used = number,                -- Total used memory
      committed = number,           -- Total committed memory
      free = number,                -- Total free memory
      max = number                  -- Total maximum memory
    }
  },
  threads = {
    count = number,                 -- Current thread count
    daemon_count = number,          -- Daemon thread count
    peak_count = number           -- Peak thread count
  },
  jvm = {
    version = string,              -- Java version
    vendor = string                -- Java vendor
  },
  uptime = number,                 -- JVM uptime
  gc = {                           -- GC statistics
    ["GC Name"] = {
      collection_count = number,   -- Collection count
      collection_time = number     -- Collection time (milliseconds)
    }
  }
}
system
-- system (Memory is in bytes)
{
  cpu = { ... },                  -- CPU information
  memory = { ... },               -- Memory information
  disk = { ... },                 -- Disk information
  network = { ... },              -- Network information
  os = { ... }                    -- Operating system information
}
-- cpu
cpu = {
  name = string,                     -- CPU name
  physical_cpu_count = number,       -- Number of physical CPUs
  logical_cpu_count = number,        -- Number of logical CPUs
  max_frequency = number,            -- Maximum frequency
  current_frequency = number,        -- Current frequency
  context_switches = number,         -- Number of context switches
  interrupts = number,               -- Number of interrupts
  available_processors = number,     -- Number of available processors
  usage_percent = number,            -- CPU usage percentage
  per_core_usage = { number, ... },  -- Per-core usage array (indexed from 0)
  overall_usage = number             -- Overall CPU usage
}
-- memory
{
  total = number,                    -- Total memory
  available = number,                -- Available memory
  used = number,                     -- Used memory
  usage_percent = number,            -- Memory usage percentage
  virtual_memory = {
    total = number,                  -- Total virtual memory
    used = number,                   -- Used virtual memory
    available = number               -- Available virtual memory
  }
}
-- disk
{
  total_space = number,              -- Total disk space
  used_space = number,               -- Used space
  free_space = number,               -- Free space
  usage_percent = number,            -- Disk usage percentage
  stores = {                         -- Array of disk store information
    {
      name = string,                 -- Store name
      mount_point = string,          -- Mount point
      total = number,                -- Total space
      used = number,                 -- Used space
      free = number,                 -- Free space
      usage_percent = number,        -- Usage percentage
      read_bytes_per_sec = number,   -- Read bytes per second
      write_bytes_per_sec = number,  -- Write bytes per second
    }
  }
}
-- network
{
  total_bytes_sent = number,         -- Total bytes sent
  total_bytes_recv = number,         -- Total bytes received
  total_packets_sent = number,       -- Total packets sent
  total_packets_recv = number,       -- Total packets received
  bytes_sent_per_sec = number,       -- Bytes sent per second
  bytes_recv_per_sec = number,       -- Bytes received per second
  packets_sent_per_sec = number,     -- Packets sent per second
  packets_recv_per_sec = number,     -- Packets received per second
  socket_connection_count = number   -- Socket connection count
}
-- os
{
  os_version = string,       -- OS version
  process_count = number,    -- Number of currently running processes
  thread_count = number,     -- Number of currently running threads
  uptime = number            -- System uptime (seconds)
}

Last updated