Web based administrator
From EsWiki
ElectroServer comes with a full-featured web-based administrator. Almost all server configuration and maintenance is done through this tool. This includes managing extensions, creating server-level plugins, persistent rooms, configuration filters, setting up gateways, managing license files, and much more.
This article describes the web-based administrator tool and each major section at a high level. Further details on specific fields can be found in the help text on every page of the manual.
To use the web-based administrator ElectroServer must be running. The admin is served up using ElectroServer’s built-in web server. The settings for the web server are the only server configuration settings that happen outside of the admin. The web server settings are configured here: installation directory/server/config/ES4Configuration.xml
See also Web admin start up settings.
Contents |
Accessing the Web-based Administrator
If all server default settings are used during installation, then you can access the admin here: https://localhost:8080/admin/
Once you arrive at the home page you will be prompted to log in. If you left the username and password as the default during installation then they are: administrator / password. You will be immediately warned to change these after logging in.
General Settings
This section of the admin is used for general server settings such as thread settings, timeouts, and licenses.
Manage Licenses
By default ElectroServer has a demo license (limit of 25 users, any IP address) installed. Through this section the properties of all installed licenses can be viewed and new licenses can be uploaded. More licenses can be installed, but only one license is active at any time.
Once you purchase a license, install it, then use manage licenses to enable the new license. A server restart is required for a license to become the active license. Inactive licenses can be deleted.
Edit Server Settings
The Server Settings page allows you to edit general server settings and communication settings. These include things like the server name, the IP/combo that the registry uses to list for gateway connections, and idle disconnect time.
- Server Name
- File Store Directory
- Server Temp Directory
- Gateway Listener IP. Note: This refers to Registry mode, not Standalone mode.
- Gateway Listener Port
- Concurrent User Limit
- User Idle Disconnect Time
- Client Idle Disconnect Time
- Maximum Queued Messages
- Timeout
- Maximum Inbound Message Length
- Maximum Outbound Message Length
- Enable Policy File
- Enable Custom Policy File
Edit Thread Settings
This page displays the current thread settings. They should only be modified by advanced users.
- Processor Thread Count: Number of threads that ElectroServer will use for I/O. The actual work is handed off to the threads in the pool.
- Minimum Pool Size
- Maximum Pool Size
- Scheduler Thread Count
- Use Executor Filter
Restart or Shutdown Server
The web based administrator's General Settings menu has options for restarting or shutting down the server. You may also shut down the server manually by closing its command window, then start it again later by running ElectroServer.exe.
Security Settings
ElectroServer provides several ways for you to secure your application. This can be done by restricting access to the web-based admin, restricting what users can do using permission sets, and by using secure certificates.
Manage Permission Sets
This section allows for permissions sets to be managed: create a new permission set or modify an existing one. A permission set is a list of a few dozen actions that a user could possibly perform when logged into the server. The permission set has a name and then a yes or no associated with each action. Permission sets are assigned to users when they log into the server.
To create a new permission set, click Create a new permission set, enter a unique name, then click Yes next to each permission that users in that set should have. Click Save when finished.
To edit an existing permission set, click the name of the set, then click either Yes or No on any permission that needs to be changed. Click Update when finished with this permission set.
Manage Web Admin Users
Through this section new admin-level users can be added, updated, or removed. You can assign major activities that you want the admin user to be able to do such as managing extensions or managing filters.
To create a new web admin user, click Create a new admin user and enter each of the following:
- Username
- Full Name
- Password
- Repeat Password
Next, check any or all of the following boxes to give this admin user the privileges needed:
- Can manage users
- Can manage extensions
- Can manage filters
- Can manage persistent rooms
- Can manage stat server
Click Save when finished.
To edit an existing web admin user, click the username, then make any modifications needed. Click Update to save the changes, or Delete to delete the user.
Change Keystore Password
This page allows you to change the keystore password. The keystore is where ElectroServer stores its certificates.
Gateways
When run in distributed mode the server is made up of one to many gateway servers and one registry server. A gateway server manages client connections.
When run in standalone mode the server has a single gateway server and no separate registry server.
View existing gateways
This section shows all gateways that exist. Click the + symbol on a gateway to view more information. Multiple gateways are only used in distributed mode, which is an enterprise-level feature.
When you first arrive at this page in the admin you will see one gateway running called StandAlone. If you are running in standalone mode, which most developers will, then this is the only gateway you will ever need. To support more protocols or IP/port combos, you can just use this gateway and edit it.
Edit a gateway
When you edit a gateway you can add more listeners (IP/port combos) and assign an expected protocol to each. To add a new listener just enter the IP or hostname into the empty field, give it a port, select a protocol (text is the most common), and click save.
See also Gateway Listener and Enabling remote connections to a local ES4.
Create a new gateway
This option is only available when running in distributed mode, which is an enterprise feature. To create a new gateway click on the Create a new gateway link. Enter a name for it and the registry pass phrase. Set the number of connections to the registry to something reasonable, like 100. Click save.
Filters
ElectroServer provides flexible support for flooding and language filters. Filters are used to help automatically restrict abuse in your applications. The language filters can be used to whitelist or blacklist word usage. The flooding filters can be used to restrict the rapid firing of messages or too many duplicate messages.
Manage Flooding Filters
Through this section you can view, add, and edit flooding filters. You can also edit the default flooding filter and the default flooding filter settings. Flooding filter settings are used to determine what actions should be taken when a violation is detected.
Manage Language Filters
Through this section you can view, add, and edit language filters. A Language Filter is either inclusive or exclusive. If inclusive, all words filtered must be in the associated word list, if exclusive then no words in the associated word list can be found in the string. Language filters contain other properties as well.
Manage Word Lists
A word list is just a named list of words. A language filter must point to a named word list. You can create or edit word lists through this section.
Extensions
The server is highly extensible using what are called Extensions. An extension is a collection of 1 or more ActionScript or Java files/classes that are used to add more functionality to the server. These extensions can be used as server-level event handlers, such as the Login Event Handler, as Managed Objects which come in handy for things like database connection pooling, or as Plugins. Plugins are run at the server level or at the room level and are frequently used to execute game logic.
Multiple example extensions and plugins are installed in the installation directory/server/examples folder.
Upload Extensions
To deploy an extension locally, you simply copy the needed files to the installation directory/server/extensions folder as explained in Extension Structure and Deployment. This is awkward if your server is remote, so the web based administrator allows you to upload an extension as a zip file.
- Build the extension in a folder, anywhere on your hard drive.
- Create a zip file. You want to include subfolders, do not save full path info, and add with wildcards from the top level of the folder (where Extension.xml is). Name the zip file the name of the extension.
- On the web based administrator's Extensions tab, browse to find the zip file, then click the Upload button.
- Notice that the Extension tab now lists "Uploaded Extensions (Pending Reboot)". If you look in the server/extensions folder (remotely) you will see the zip file, still zipped.
- Use the web based administrator to reboot the server. Notice that the Extension tab now shows the extension with its proper name.
- If the extension needs one or more server-level components, add them now then reboot.
Create New Server-level Component
New server components can be created. They include event handlers, such as the Login Event Handler, server-level plugins, and managed objects. You select the extension name, give it a name that you will use to access it later, and choose the plugin in the extension that you want to use. Optionally you can also add some XML that will be used to pass information in at start up. A server restart is necessary for changes to take effect.
Persistent Rooms
A persistent room is a room that is not removed when the user list is empty. Most rooms are dynamic and are removed when empty.
Create new Persistent Room
New persistent rooms can be created and published or unpublished at run-time. For information on all of the room properties see Creating a Room.
