Skip to content

Zone Monitor

The AdminTool's Zone Monitor module allows runtime monitoring of SmartFoxServer Zones, Rooms and Users. It is also possible to apply live changes to some of their settings.

Zone Monitor screenshot

Data displayed by this module is not updated in realtime; the refresh rate can be selected using the dropdown in the top-right corner of the module; 5 seconds is the default value.

Zones, Rooms and Users

When the module is opened, the list of the currently running Zones is displayed in the accordion on the left. The counter in the badge near each Zone name indicates the current number of Users connected to the Zone. Select a Zone and click on the Rooms accordion header to open the panel containing the list of Rooms belonging to that Zone. Again, each Room shows the User count in a badge.

The Rooms panel shows a label indicating the selected Zone name, and controls to filter the list (more on this later). In particular, the Group dropdown allows displaying all Rooms belonging to a specific Group: it contains all available Groups (see the Group ID parameter in the General tab of the Room configuration settings) plus the [any] option to show all Rooms in the Zone. By default the predefined default Group is shown.

The Rooms panel also contains the Create and Remove buttons, to add a Room to the selected Zone on the fly or remove an existing Room respectively.

The Room creation process is the same as described in the Zone Configurator module, but Rooms created here are not saved in the server configuration, and they will be lost on server restart. The Notify client checkbox can be used to trigger the ROOM_ADD event on clients having subscribed the Group to which the new Room has been assigned.

Room creation panel

In order to remove a Room, select it in the list, click the Remove button and confirm the action in the pop-up alert. This always causes the ROOM_REMOVE event to be dispatched to clients having subscribed the Group to which the Room belongs. Please note that the Room must be empty (no User in the Room) for the action to be executed successfully.

Select a Room and click on the Users accordion header to open the panel containing the list of Users located in that Room. The panel also contains a label showing the selected Zone, Group and Room names, and controls to filter the list.

Show all Users

In order to display the list of all Users in a Zone, including those who didn't join a Room, select [any] in the Group dropdown of the Rooms panel, then open the Users panel.

Both the Rooms and Users panels contain a Filter button to create an advanced filter based on default or custom properties, and a checkbox to apply or remove it on the fly (enabled if a filter is configured only). Taking the Room filter as an example, when clicking on the Filter button this modal is displayed:

Room filter panel

A filter is made of one or more rules linked together by an AND or OR operator. In order to create a rule you have to choose the operator (except for the first rule) and enter the following information:

  • Variable Name — The name of a custom Room or User Variable, or one of the exposed properties of the Room or User classes (for example Room.userCount, Room.maxUsers, User.name, etc).
  • Type — The variable's type; valid types are boolean, number or string.
  • Condition— The matching condition, depending on the selected variable type.
  • Value — The variable's value.

For example, the filter set in the image above would return all the Game Rooms containing at least one User.

Click on the Apply button to close the panel and apply the filter; click the Clear all button to remove all the defined rules, or select one rule and click on Remove selected button to delete it.

Too many entries

Depending on the filtering criteria applied to Rooms or Users, the returned data could be huge. For this reason a limit of 500 list items has been added. If this limit is exceeded, an alert message is displayed and additional filters should be set.

Runtime data monitoring

Double-clicking an item in the Zones, Rooms or Users panel (or selecting it and clicking the Monitor selection button below the accordion) starts the actual monitoring of the entity's runtime status and settings in the right area of the module. Use the Close () button at the bottom of the monitoring area to stop the monitoring.

Settings, status indicators and specific controls are organized into tabs, described in the Runtime settings and controls section below: the settings showing editing controls can be modified at runtime. To do it, click the Edit button ad the bottom of the view to enter edit mode (this also prevents the settings values to be reset during the next refresh cycle). Click on the Submit button to apply the changes or the Cancel button to leave the edit mode.

Changes not persisted

Changing the runtime values of Zone, Room or User settings doesn't affect the server configuration: in case of server restart, the runtime changes get lost and the saved configuration (see the Server Configurator and Zone Configurator modules) is applied.

Sending a message to Users

By means of the text input field and Send () button located below the Monitor selection button, the administrator can send an "admin message" to one or more Users. If the Zones or Rooms panel is displayed and a Zone or Room is selected respectively, the message will be delivered to all the Users in that Zone or Room. If the Users panel is opened and a User is selected, the message will be sent to that User only.

Please note that the Users will be able to receive the message if the ADMIN_MESSAGE event is handled by the client application only.

Runtime settings and controls

As already mentioned before, the Zone, Room and User runtime settings are divided into a number of tabs, which can also contain additional controls to execute some tasks, or charts which better visualize specific status information. Most of the settings are self-explanatory, anyway they are all accompanied by the Help () icon: hovering the mouse pointer shows a brief description in a tooltip.

Zone monitoring tabs

The following sections show the screenshots of the Zone monitoring tabs, delving deeper into the less straightforward settings. Additional controls to execute specific tasks are also discussed.

Zone Traffic

This tab shows the traffic in the Zone in the last 24 hours, in particular the concurrent users progress. Using the handles below the chart it is possible to change the visualized time frame.

Zone traffic

Additional information

  • The Maximum # of users parameter is calculated since the server was started.
  • The Average # of users parameter is calculated over the last 24 hours.

Runtime Zone Settings

This tab contains the main Zone settings, most of which are editable to apply live changes to the behavior of the Zone.

In the same tab, below the settings list, a button is available to force the list of words filter to be reloaded, allowing the list to be updated at runtime.

Runtime Zone settings


Zone Extension

This tab is accessible if an Extension has been assigned to the monitored Zone only (see the Zone Extension tab of the Zone Configurator module). It shows the Extension configuration settings and allows manual reloading of the Extension (using the Reload button) when the auto-reload feature has been turned off in the Zone Configurator module.

The tab also shows the messages traced by the Extension in the log during the current monitoring session; this can be useful to debug the Extension behavior at runtime.

Zone Extension

Room monitoring tabs

The following sections show the screenshots of the Room monitoring tabs, delving deeper into the less straightforward settings. Additional controls to execute specific tasks are also discussed.

Runtime Room Settings

This tab contains the main Room settings, some of which are editable to apply live changes to the behavior of the Room.

Runtime Room settings

Additional information

  • The Room name, Password and capacity-related settings can be updated at runtime if the Room is configured to allow these changes only (see the Permissions & Events tab).
  • Even if the Bad words filter is set to active, the filter is applied only if the corresponding setting on the Zone containing the Room is enabled.

Permissions & Events

This tab recaps the settings configured in the Room's Permissions & Events tab of the Zone Configurator module.

Permissions and events


Runtime Room Variables

This tab shows the list of existing Room Variables, including all their flags.

Runtime Room Variables

Additional information

  • If the owner is set to [server], the Room Variable is owned by the server itself; otherwise a string containing the main user details is displayed.

Room Extension

This tab is accessible if an Extension has been assigned, either statically or dynamically, to the monitored Room only (see the Room Extension tab of the Zone Configurator module); it shows the Extension configuration settings.

The tab also shows the messages traced by the Extension in the log during the current monitoring session; this can be useful to debug the Extension behavior at runtime.

Room Extension


Game Settings

This tab is available if the monitored Room is of type SFSGame only. It shows specific game-related information. More information is available in the Game API documentation.

Game settings


MMO Settings

This tab is available if the monitored Room is of type MMORoom only. It shows specific MMO-related settings. More information is available in the MMO API documentation.

MMO settings

User monitoring tabs

The following sections show the screenshots of the User monitoring tabs, delving deeper into the less straightforward settings. Additional controls to execute specific tasks are also discussed.

User Management

This tab is divided into several sections. The top one shows some information about the user, like their name and ID, the session details and more.

User Management

Additional information

  • The IP address parameter shows both the IP/port of the client (to the left of the arrows) and the IP/port of the server (to the right) to which the client is connected; in case the user is connected via WebSocket or HTTP, only the client IP is displayed.
  • The Client info parameter contains information on the client used by the user to connect to SmartFoxServer; if the user is a Non-Player Character (NPC) generated by an Extension, this parameter and others in the list above are not available.
  • The Is frozen parameter, when true, indicates that the client has lost its connection, but the server is waiting before marking it as disconnected (this is part of the HRC system implemented in SmartFoxServer; check the feature description for more information).
  • The Country parameter shows the user country based on the client IP address. It is not available if the user is connected locally.
User Statistics

This section of the User Management tab shows some statistics: the usage percentage of the outgoing packet queue, the number of dropped packets since login and the amount of data sent (write) and received (read) to/from the client since login.

User Stats

Disconnect, Kick & Ban

The next section allows the administrator to disconnect a client immediately by clicking the Disconnect button. The Kill connection button instead closes the client connection abruptly, which triggers the HRC system if active.

User Disconnection

The fifth section of the User Management tab implements SmartFoxServer's client kicking feature. Enter the warning message to be sent to the client being kicked (the application must be listening to the ADMIN_MESSAGE event) and the delay (expressed in seconds) before the actual disconnection occurs, then hit the Kick button.

User Kick

The last section allows administrators to ban clients in realtime. With respect to the similar feature available in the Ban Manager module, this is a less fine-grained tool, but gives access to live per-IP address banning.

Enter the warning message to be sent to the client being banned (the application must be listening to the ADMIN_MESSAGE event), the ban duration (expressed in minutes, hours or days) and the delay (expressed in seconds) before the actual disconnection occurs, then click the Ban button.

User Ban


Runtime User Settings

This tab contains the main User settings, some of which are editable to modify the client permissions at runtime (for example the maximum number of User Variables that the client can create).

Runtime User settings


Rooms & Groups

Rooms created and joined by the client and Groups to which the client is subscribed are presented in this tab.

Rooms and Groups


Runtime User Variables

This tab shows the list of User Variables set on the monitored User.

Runtime User Variables


Buddy Properties

This tab contains information about the Buddy List of the User, and it is visible if the Buddy List system is active for the current Zone only (see the Zone's Buddy List tab of the Zone Configurator module).

Buddy Properties