|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface ElectroServerApi
The foundation of all server-side API code in ElectroServer 4. Any server-side, custom-code in any language supported will have access to all methods defined in this interface. Any specific extension component from plugin to event-handler will be able to access a specific implementor of the ElectroServerApi by calling the getApi() method on the component. The api will be available to the component by the time the lifecycle "init" method is invoked.
| Method Summary | |
|---|---|
Object |
acquireManagedObject(String factoryName,
EsObjectRO parameters)
Acquires a managed object from the specified managed object factory. |
boolean |
addBuddy(String userName,
String buddyName,
EsObjectRO esObject)
Adds a buddy to the specified user's buddy list. |
RoomResponse |
addUsersToRoom(int zoneId,
int roomId,
String password,
Collection<UserConfig> userConfigs)
Adds the users defined in the UserConfig collection to the specified room. |
RoomResponse |
addUsersToRoom(int zoneId,
int roomId,
String password,
UserConfig[] userConfigs)
Adds the users defined in the UserConfig array to the specified room. |
LanguageFilterResponse |
applyLanguageFilterToString(String languageFilterName,
String stringToTest)
Used to call one of the configured language filters to determine if a given string is valid or not. |
void |
banUserFromRoom(String userName,
int zoneId,
int roomId,
int duration,
String reason)
Used to kick and ban a user from a room with a specified message. |
HttpResults |
blockAndCallUrl(String url,
boolean isPOST,
Map<String,String> parameters)
Calls a URL and blocks the current thread of execution until a response is recieved or a global timeout is reached. |
EsObject |
callRoomPlugin(int zoneId,
int roomId,
String pluginName,
EsObjectRO parameters)
Used to invoke the interop
method on the designated server-level plugin. |
EsObject |
callServerPlugin(String pluginName,
EsObjectRO parameters)
Used to invoke the interop
method on the designated server-level plugin. |
void |
callUrl(String url,
boolean isPOST,
Map<String,String> parameters,
HttpCallback callback)
Calls a URL asynchronously and invokes the callback once the call completes. |
void |
callUrlFromScript(String url,
boolean isPOST,
Map<String,String> parameters,
String callbackName)
Calls a URL asynchronously and invokes the method defined by the callback name once the call completes. |
void |
cancelScheduledExecution(int id)
Cancels the scheduled execution identified by the ID. |
GameManagerResponse |
createGameForUsers(String gameType,
Collection<String> users,
String zoneName,
String password,
boolean locked,
boolean hidden,
EsObject gameDetails)
Used to directly create a game for the identified users via the GameManager. |
GameManagerResponse |
createGameForUsers(String gameType,
String[] users,
String zoneName,
String password,
boolean locked,
boolean hidden,
EsObject gameDetails)
Used to directly create a game for the identified users via the GameManager. |
UserVariableResponse |
createOrUpdateUserVariable(String userName,
String name,
EsObject value)
Creates or updates a user variable as needed. |
RoomResponse |
createRoom(int zoneId,
RoomConfiguration roomConfig,
Collection<UserConfig> userConfigs)
Creates a room in the specified zone using the supplied room configuration. |
RoomResponse |
createRoom(int zoneId,
RoomConfiguration roomConfig,
UserConfig[] userConfigs)
Creates a room in the specified zone using the supplied room configuration. |
RoomResponse |
createRoomInNamedZone(String zoneName,
boolean joinExistingZone,
RoomConfiguration roomConfig,
Collection<UserConfig> userConfigs)
Creates a room in the specified zone using the supplied room configuration. |
RoomResponse |
createRoomInNamedZone(String zoneName,
boolean joinExistingZone,
RoomConfiguration roomConfig,
UserConfig[] userConfigs)
Creates a room in the specified zone using the supplied room configuration. |
RoomVariableResponse |
createRoomVariable(int zoneId,
int roomId,
String name,
EsObject value,
boolean locked)
Creates a room variable in the specified room. |
RoomVariableResponse |
createRoomVariableForUser(int zoneId,
int roomId,
String name,
EsObject value,
boolean locked,
String username,
boolean persistent)
Creates a room variable in the specified room, tied to a given user. |
ExtensionBoundUserServerVariableResponse |
deleteExtensionBoundUserServerVariable(String userName,
String variableName)
Deletes an extension-bound user server variable. |
RoomVariableResponse |
deleteRoomVariable(int zoneId,
int roomId,
String name)
Deletes the specified room variable. |
UserServerVariableResponse |
deleteUserServerVariable(String userName,
String variableName)
Deletes a given user server variable from the specified user. |
UserVariableResponse |
deleteUserVariable(String userName,
String name)
Deletes the specified user variable. |
void |
destroyRoom(int zoneId,
int roomId)
Destroys the room specified by the room and zone IDs. |
ExtensionBoundUserServerVariableResponse |
getExtensionBoundUserServerVariable(String userName,
String variableName)
Looks up and returns an extension-bound user server variable. |
String |
getExtensionName()
Used to get the name of the extension that contains this component. |
EsFileSystemApi |
getFileSystemApi()
Used to access the file system API functionality of the server. |
String |
getHandle()
Used to get the handle of this extension component. |
org.slf4j.Logger |
getLogger()
Acquires a logger for the current component. |
String |
getName()
Used to the get the name of this extension component. |
Plugin |
getRoomPlugin(int zoneId,
int roomId,
String pluginName)
Used to get a reference to another room plugin based on the zone ID and room ID and plugin name. |
Collection<RoomValue> |
getRoomsInZone(int zoneId)
Looks up and returns all the rooms in a given zone. |
Collection<RoomValue> |
getRoomsInZoneByName(String zoneName)
Looks up and returns all the rooms in a given zone. |
ReadOnlyRoomVariable |
getRoomVariable(int zoneId,
int roomId,
String name)
Looks up and returns a specific room variable. |
Collection<ReadOnlyRoomVariable> |
getRoomVariables(int zoneId,
int roomId)
Looks up and returns all room variables in a given room. |
Plugin |
getServerPlugin(String pluginName)
Used to get a reference to a server level plugin in the same extension, based on the plugin name. |
UserValue |
getUser(String userName)
Used to return details on the specified user. |
UserServerVariableResponse |
getUserServerVariable(String userName,
String variableName)
Looks up and returns a user server variable. |
Collection<UserValue> |
getUsersInRoom(int zoneId,
int roomId)
Looks up and returns all the users in a given room. |
ReadOnlyUserVariable |
getUserVariable(String userName,
String name)
Looks up and returns a specific user variable. |
Collection<ReadOnlyUserVariable> |
getUserVariables(String userName)
Looks up and returns all the user variables for a given user. |
Collection<ZoneValue> |
getZones()
Looks up and returns all the zones on the server. |
boolean |
isUserLoggedIn(String userName)
Determines if a user is currently logged in or not. |
void |
kickUserFromRoom(String userName,
int zoneId,
int roomId,
String reason)
Used to kick a user from a room with a specified message. |
void |
kickUserFromServer(String userName,
EsObjectRO reason)
Used to kick a user from the server directly. |
void |
registerGameConfiguration(String gameType,
GameConfiguration configuration)
Used to register a GameConfiguration with the server so that it can be used in conjunction with the GameManager. |
void |
releaseManagedObject(String factoryName,
Object object)
Releases a managed object back to the specified factory. |
boolean |
removeBuddy(String userName,
String buddyName)
Removes a buddy from the specified user's buddy list. |
int |
scheduleExecution(int interval,
int numberOfTimes,
ScheduledCallback callback)
Schedules execution of the callback's method at the defined interval. |
int |
scheduleExecutionFromScript(int interval,
int numberOfTimes,
String callbackName)
Schedules execution of the callback's method at the defined interval. |
PluginPublicMessageResponse |
sendPluginMessageToRoom(int zoneId,
int roomId,
EsObjectRO variables)
Sends a plugin message to all users in a room. |
PluginPublicMessageResponse |
sendPluginMessageToRooms(Map<Integer,Collection<Integer>> zoneRoomCombos,
EsObjectRO variables)
Sends a plugin message to a group of rooms. |
PluginPublicMessageResponse |
sendPluginMessageToServer(EsObjectRO variables)
Sends a plugin message to the entire server. |
PluginPrivateMessageResponse |
sendPluginMessageToUser(String userName,
EsObjectRO variables)
Sends a plugin message to a user. |
PluginPrivateMessageResponse |
sendPluginMessageToUsers(Collection<String> userNames,
EsObjectRO variables)
Sends a plugin message to a group of users. |
PluginPrivateMessageResponse |
sendPluginMessageToUsers(String[] userNames,
EsObjectRO variables)
Sends a plugin message to a group of users. |
PluginPublicMessageResponse |
sendPluginMessageToZone(int zoneId,
EsObjectRO variables)
Sends a plugin message to all users in a zone. |
PluginPublicMessageResponse |
sendPluginMessageToZones(Collection<Integer> zoneIds,
EsObjectRO variables)
Sends a plugin message to a group of zones. |
PluginPublicMessageResponse |
sendPluginMessageToZones(int[] zoneIds,
EsObjectRO variables)
Sends a plugin message to a group of zones. |
ExtensionBoundUserServerVariableResponse |
setExtensionBoundUserServerVariable(String userName,
String variableName,
Object variableValue)
Sets an extension-bound user server variable on a given user. |
UserServerVariableResponse |
setUserServerVariable(String userName,
String variableName,
EsObject variableValue)
Sets a user server variable on a given user. |
RoomVariableResponse |
updateRoomVariable(int zoneId,
int roomId,
String name,
boolean valueUpdated,
EsObject value,
boolean lockStatusUpdated,
boolean locked)
Updates the specified room variable. |
| Method Detail |
|---|
boolean addBuddy(String userName,
String buddyName,
EsObjectRO esObject)
userName - user name of the user whose buddy list the buddy should be addedbuddyName - user name of the buddy to be addedesObject - optional meta-data to be associated with the buddy
removeBuddy
boolean removeBuddy(String userName,
String buddyName)
userName - user name of the user whose buddy list the buddy should be removedbuddyName - user name of the buddy to be removed
addBuddy,
EsObject
Object acquireManagedObject(String factoryName,
EsObjectRO parameters)
Acquires a managed object from the specified managed object factory. Any code using this method will be limited to managed object factories defined in the same extension as this component. Managed object factories are not accessible across extensions because they return raw objects rather then safer objects (like EsObject) - see the ElectroServer 4 Manual for an overview of the class loader proces and why separation of extensions is required.
The parameters object will be passed directly to the managed object factory. In practice, it is used to provide additional information to the factory in helping it return the appropriate object. A good example might be a connection pooling factory and the parameters object contains the name of the pool to use.
factoryName - name of the managed object factory as it is defined in the specific extension.xml file.parameters - optional EsObject that will be passed
releaseManagedObject,
ManagedObjectFactory,
EsObject,
ElectroServer 4 Manual
void releaseManagedObject(String factoryName,
Object object)
factoryName - the factory's nameobject - the object to releaseacquireManagedObject,
ManagedObjectFactory,
EsObject,
ElectroServer 4 Manualorg.slf4j.Logger getLogger()
Acquires a logger for the current component. The logger returned is an interface in the SLF4J framework. Javadocs for the Logger interface can be found here: http://www.slf4j.org/api/org/slf4j/Logger.html
The logging framework for extensions allows for a great deal of flexibility. When getLogger is called, it returns a Logger interface with a custom logger hierarchy. The format of the hierarchy looks like this: Extensions.<extension_name>.<component_type>.<component_handle> Component types will be "ManagedObjectFactories", "Plugins", or "EventHandlers". So a specific example might be: Extensions.MyGameExtension.Plugins.MyGamePlugin
By configuring the logging configuration file in the server config directory, the developer has complete control over the logging levels and ouput format of log messages for all extensions, or individual extensions or even single components.
LanguageFilterResponse applyLanguageFilterToString(String languageFilterName,
String stringToTest)
languageFilterName - the name of the language filter to invokestringToTest - the string to test with the selected langauge filter
LanguageFilterResponse
HttpResults blockAndCallUrl(String url,
boolean isPOST,
Map<String,String> parameters)
HttpResults object.
This object contains a variety of methods to interact with the
data directly as bytes, convert it to a string, or to even parse the results into a
name/value pair map (like LoadVars in Flash).
url - address of the page to callisPOST - true if sending a POST request, false if sending a GET requestparameters - map of name/value parameters to the be sent to the address. Ignored for GET requests
callUrl,
callUrlFromScript,
HttpResults,
HttpCallback
void callUrl(String url,
boolean isPOST,
Map<String,String> parameters,
HttpCallback callback)
HttpResults object. This object contains a variety of methods to interact with the
data directly as bytes, convert it to a string, or to even parse the results into a
name/value pair map (like LoadVars in Flash).
url - address of the page to callisPOST - true if sending a POST request, false if sending a GET requestparameters - map of name/value parameters to the be sent to the address. Ignored for GET requestscallback - callback to be invoked once this method completes either successfully or notblockAndCallUrl,
callUrlFromScript,
HttpResults,
HttpCallback
void callUrlFromScript(String url,
boolean isPOST,
Map<String,String> parameters,
String callbackName)
HttpResults object. This object contains a
variety of methods to interact with the data directly as bytes, convert it to a
string, or to even parse the results into a name/value pair map (like LoadVars
in Flash).
NOTE: THIS IS ONLY CALLABLE FROM A SCRIPT COMPONENT!
url - address of the page to callisPOST - true if sending a POST request, false if sending a GET requestparameters - map of name/value parameters to the be sent to the address. Ignored for GET requestscallbackName - callback to be invoked once this method completes either successfully or notblockAndCallUrl,
callUrl,
HttpResults,
HttpCallback
int scheduleExecution(int interval,
int numberOfTimes,
ScheduledCallback callback)
Schedules execution of the callback's method at the defined interval. The callback will execute the specified number of times before stopping. To execute a callback once, numberOfTimes needs to be set to 1. To execute the callback indefinitely, then numberOfTimes should be set to -1. The first execution will occur after the interval has passed. All subsequent executions will occur after the interval has passed. The interval's duration is measured in milliseconds.
This method uses the server-wide ScheduledExecutorService which shares the global thread pool. This ensures best possible performance and scalability. The global thread pool settings are configurable in the web-based administration console.
This method is designed to respect server lifecycle events. To that end, if the
server stops the extension component for any reason, all scheduled executions are
canceled. The returned ID is used to cancel a scheduled execution directly via the
cancelScheduledExecution method.
For example:
int id = getApi().scheduleExecution(durationInMilliseconds,
numberOfTimesToRepeat,
new ScheduledCallback() {
public void scheduledCallback() {
... lines to be executed ...
}
});
interval - duration (ms) until the execution is called as well as the duration between subsequent executionsnumberOfTimes - number of times to execute the callback, -1 is used to indicate indefinite executioncallback - callback to invoke on the schedule
scheduleExecutionFromScript,
cancelScheduledExecution
int scheduleExecutionFromScript(int interval,
int numberOfTimes,
String callbackName)
Schedules execution of the callback's method at the defined interval. The callback will execute the specified number of times before stopping. To execute a callback once, numberOfTimes needs to be set to 1. To execute the callback to execute indefinitely, then numberOfTimes should be set to -1. The first execution will occur after the interval has passed. All subsequent executions will occur after the interval has passed. The interval's duration is measured in milliseconds.
This method uses the server-wide ScheduledExecutorService which shares the global thread pool. This ensures best possible performance and scalability. The global thread pool settings are configurable in the web-based administration console.
This method is designed to respect server lifecycle events. To that end, if the
server stops the extension component for any reason, all scheduled executions are
canceled. The returned ID is used to cancel a scheduled execution directly via the
cancelScheduledExecution method.
NOTE: THIS IS ONLY CALLABLE FROM A SCRIPT COMPONENT!
interval - duration (ms) until the execution is called as well as the duration between subsequent executionsnumberOfTimes - number of times to execute the callback. -1 is used to indicate indefinite executioncallbackName - name of the callback method to invoke on the schedule
scheduleExecution,
cancelScheduledExecutionvoid cancelScheduledExecution(int id)
id - ID of the scheduled execution to cancelscheduleExecution,
scheduleExecutionFromScript
RoomResponse addUsersToRoom(int zoneId,
int roomId,
String password,
Collection<UserConfig> userConfigs)
zoneId - zone ID for the specific roomroomId - room ID for the specific roompassword - password of the roomuserConfigs - configuration collection of the users to join the specified room
RoomResponse,
UserConfig
RoomResponse addUsersToRoom(int zoneId,
int roomId,
String password,
UserConfig[] userConfigs)
zoneId - zone ID for the specific roomroomId - room ID for the specific roompassword - password of the roomuserConfigs - configuration array of the users to join the specified room
RoomResponse,
UserConfig
RoomResponse createRoom(int zoneId,
RoomConfiguration roomConfig,
Collection<UserConfig> userConfigs)
zoneId - the zone idroomConfig - the room configuration to use for this new roomuserConfigs - the configuration of users to join this room
createRoomInNamedZone,
destroyRoom,
RoomResponse,
RoomConfiguration,
UserConfig
RoomResponse createRoom(int zoneId,
RoomConfiguration roomConfig,
UserConfig[] userConfigs)
zoneId - the zone idroomConfig - the room configuration to use for this new roomuserConfigs - the configuration of users to join this room
createRoomInNamedZone,
destroyRoom,
RoomResponse,
RoomConfiguration,
UserConfig
RoomResponse createRoomInNamedZone(String zoneName,
boolean joinExistingZone,
RoomConfiguration roomConfig,
Collection<UserConfig> userConfigs)
zoneName - the zone namejoinExistingZone - boolean indicating if the room should join an existing zone if it existsroomConfig - the room configuration to use for this new roomuserConfigs - the configuration of users to join this room
createRoom,
destroyRoom,
RoomResponse,
RoomConfiguration,
UserConfig
RoomResponse createRoomInNamedZone(String zoneName,
boolean joinExistingZone,
RoomConfiguration roomConfig,
UserConfig[] userConfigs)
zoneName - the zone namejoinExistingZone - boolean indicating if the room should join an existing zone if it existsroomConfig - the room configuration to use for this new roomuserConfigs - the configuration of users to join this room
createRoom,
destroyRoom,
RoomResponse,
RoomConfiguration,
UserConfig
void destroyRoom(int zoneId,
int roomId)
zoneId - the zone IDroomId - the room IDcreateRoom,
createRoomInNamedZone
RoomVariableResponse createRoomVariable(int zoneId,
int roomId,
String name,
EsObject value,
boolean locked)
zoneId - the zone IDroomId - the room IDname - the name of the variablevalue - the value of the variablelocked - a boolean indicating if the variable is locked or not
createRoomVariableForUser,
updateRoomVariable,
deleteRoomVariable,
RoomVariableResponse,
EsObject
RoomVariableResponse createRoomVariableForUser(int zoneId,
int roomId,
String name,
EsObject value,
boolean locked,
String username,
boolean persistent)
zoneId - the zone IDroomId - the room IDname - the name of the variablevalue - the value of the variablelocked - a boolean indicating if the variable is locked or notusername - name of the user tied to the variablepersistent - is this a persistent variable
createRoomVariable,
updateRoomVariable,
deleteRoomVariable,
RoomVariableResponse,
EsObject
RoomVariableResponse updateRoomVariable(int zoneId,
int roomId,
String name,
boolean valueUpdated,
EsObject value,
boolean lockStatusUpdated,
boolean locked)
zoneId - the zone IDroomId - the room IDname - the name of the variablevalueUpdated - a boolean indicating if the variable was updatedvalue - the value of the variablelockStatusUpdated - a boolean indicating if the lock has been changedlocked - the value of the lock
createRoomVariable,
createRoomVariableForUser,
deleteRoomVariable,
RoomVariableResponse,
EsObject
RoomVariableResponse deleteRoomVariable(int zoneId,
int roomId,
String name)
zoneId - the zone IDroomId - the room IDname - the name of the variable
createRoomVariable,
createRoomVariableForUser,
updateRoomVariable,
RoomVariableResponse
ExtensionBoundUserServerVariableResponse getExtensionBoundUserServerVariable(String userName,
String variableName)
LoginEventHandler.
userName - the user namevariableName - the variable name
setExtensionBoundUserServerVariable,
deleteExtensionBoundUserServerVariable,
ExtensionBoundUserServerVariableResponse
ExtensionBoundUserServerVariableResponse setExtensionBoundUserServerVariable(String userName,
String variableName,
Object variableValue)
LoginEventHandler.
userName - the user namevariableName - the variable namevariableValue - the variable value
getExtensionBoundUserServerVariable,
deleteExtensionBoundUserServerVariable,
ExtensionBoundUserServerVariableResponse
ExtensionBoundUserServerVariableResponse deleteExtensionBoundUserServerVariable(String userName,
String variableName)
LoginEventHandler.
userName - the user namevariableName - the variable name
getExtensionBoundUserServerVariable,
setExtensionBoundUserServerVariable,
ExtensionBoundUserServerVariableResponse
UserServerVariableResponse getUserServerVariable(String userName,
String variableName)
LoginEventHandler.
userName - the user namevariableName - the variable name
setUserServerVariable,
deleteUserServerVariable,
UserServerVariableResponse
UserServerVariableResponse setUserServerVariable(String userName,
String variableName,
EsObject variableValue)
LoginEventHandler.
userName - the user namevariableName - the variable namevariableValue - the variable value
getUserServerVariable,
deleteUserServerVariable,
UserServerVariableResponse,
EsObject
UserServerVariableResponse deleteUserServerVariable(String userName,
String variableName)
LoginEventHandler.
userName - the user namevariableName - the variable name
getUserServerVariable,
setUserServerVariable,
UserServerVariableResponse
UserVariableResponse createOrUpdateUserVariable(String userName,
String name,
EsObject value)
LoginEventHandler.
userName - the user namename - the variable namevalue - the variable value
deleteUserVariable,
getUserVariable,
getUserVariables,
UserVariableResponse,
EsObject
UserVariableResponse deleteUserVariable(String userName,
String name)
LoginEventHandler.
userName - the user namename - the variable name
createOrUpdateUserVariable,
getUserVariable,
getUserVariables,
UserVariableResponse
ReadOnlyUserVariable getUserVariable(String userName,
String name)
LoginEventHandler.
userName - the user namename - the variable name
getUserVariables,
ReadOnlyUserVariableCollection<ReadOnlyUserVariable> getUserVariables(String userName)
LoginEventHandler.
userName - the user name
getUserVariable,
ReadOnlyUserVariableString getHandle()
String getName()
String getExtensionName()
EsFileSystemApi getFileSystemApi()
EsFileSystemApi
ReadOnlyRoomVariable getRoomVariable(int zoneId,
int roomId,
String name)
zoneId - the zone IDroomId - the room IDname - the variable name
getRoomVariables,
ReadOnlyRoomVariable
Collection<ReadOnlyRoomVariable> getRoomVariables(int zoneId,
int roomId)
zoneId - the zone IDroomId - the room ID
getRoomVariable,
ReadOnlyRoomVariableCollection<ZoneValue> getZones()
ZoneValueCollection<RoomValue> getRoomsInZone(int zoneId)
zoneId - the zone ID
getRoomsInZoneByName,
RoomValueCollection<RoomValue> getRoomsInZoneByName(String zoneName)
zoneName - the zone name
getRoomsInZone,
RoomValue
Plugin getRoomPlugin(int zoneId,
int roomId,
String pluginName)
Used to get a reference to another room plugin based on the zone ID and room ID
and plugin name. This can be used as a clean replacement for the Plugin Interop
ability. Once the plugin reference is available, the plugin can get cast to its
original type allowing for direct calls to be made.
NOTE: This can only be called from a Java plugin to access another Java plugin from the same extension.
zoneId - the zone IDroomId - the room IDpluginName - the name of the plugin
getServerPlugin,
PluginPlugin getServerPlugin(String pluginName)
Used to get a reference to a server level plugin in the same extension,
based on the plugin name. This can be used as a clean replacement for the Plugin Interop
ability. Once the plugin reference is available, the plugin can get cast to its
original type allowing for direct calls to be made.
NOTE: This can only be called from a Java plugin to access another Java plugin from the same extension.
pluginName - the name of the server-level plugin
getRoomPlugin,
Plugin
EsObject callRoomPlugin(int zoneId,
int roomId,
String pluginName,
EsObjectRO parameters)
Used to invoke the
interop
method on the designated server-level plugin. This method is the
primary way for a plugin to interact with another plugin in a different extension.
While this can be used with plugins in the same extension, it's simpler to use the
getRoomPlugin or getServerPlugin methods unless script plugins are involved (see
the note on those methods for details).
The designated plugin must implement the
PluginInterop
interface or extend a base
class that does this already (like
BasePlugin).
Note: This can be used to send data between script and Java plugins.
zoneId - the zone IDroomId - the room IDpluginName - the name of the pluginparameters - the parameters to pass to the "interop" method of the plugin
callServerPlugin,
getRoomPlugin,
getServerPlugin,
BasePlugin,
PluginInterop,
EsObject
EsObject callServerPlugin(String pluginName,
EsObjectRO parameters)
Used to invoke the
interop
method on the designated server-level plugin. This method is the
primary way for a plugin to interact with another plugin in a different extension.
While this can be used with plugins in the same extension, it's simpler to use the
getRoomPlugin or getServerPlugin methods unless script plugins are involved (see
the note on those methods for details).
The designated plugin must implement the
PluginInterop
interface or extend a base
class that does this already (like
BasePlugin).
Note: This can be used to send data between script and Java plugins.
pluginName - the plugin nameparameters - the parameters to pass to the "interop" method of the plugin
callRoomPlugin,
getRoomPlugin,
getServerPlugin,
BasePlugin,
PluginInterop,
EsObjectUserValue getUser(String userName)
userName - the name of the user
getUsersInRoom,
UserValueboolean isUserLoggedIn(String userName)
userName - the users name
Collection<UserValue> getUsersInRoom(int zoneId,
int roomId)
zoneId - the zone IDroomId - the room ID
getUser,
UserValue
void kickUserFromRoom(String userName,
int zoneId,
int roomId,
String reason)
userName - the name of the user to kickzoneId - the zone IDroomId - the ID of the room containing the userreason - the reason the user was kickedbanUserFromRoom,
kickUserFromServer
void banUserFromRoom(String userName,
int zoneId,
int roomId,
int duration,
String reason)
Used to kick and ban a user from a room with a specified message. When invoked, the user specified will recieve the message as part of the ban message from the server. Any users in the room will also be notified that the user was banned along with the message.
In addition to being kicked, the user is unable to re-enter the room until the specified duration has elapsed. Duration is measured in seconds.
userName - the name of the user to kickzoneId - the zone IDroomId - the ID of the room containing the userduration - (seconds) how long the user should be banned or -1 for an indefinite banreason - the reason the user was kickedkickUserFromRoom,
kickUserFromServer
void kickUserFromServer(String userName,
EsObjectRO reason)
userName - the name of the user to kickreason - the reason the user was kickedkickUserFromRoom,
banUserFromRoom
void registerGameConfiguration(String gameType,
GameConfiguration configuration)
Used to register a GameConfiguration with the server so that it can be used in conjunction with the GameManager. Before any game can be created with the GameManager it must be registered. The game type is required to identify the specific game configuration for future calls.
When the GameManager is used to find or create a game, it will use the game type to find the correct GameConfiguration. Then it will use the GameConfiguration to create the specific zone/room configuration the game needs.
For details on using the GameManager, see the ElectroServer 4 Manual, Game Manager.
gameType - the game type to associate with this configurationconfiguration - the GameConfiguration for this game typeGameConfiguration
GameManagerResponse createGameForUsers(String gameType,
Collection<String> users,
String zoneName,
String password,
boolean locked,
boolean hidden,
EsObject gameDetails)
Used to directly create a game for the identified users via the GameManager. Once this game is created, it will behave just as though it were created via clients.
The hidden, locked, and gameDetails parameters all relate to the state of the game once creation is complete. Locked is used to prevent users from joining the game once it is created. Hidden is used to show or hide the game from the game list retrieved from the GameManager. GameDetails are used to provide extra information to the GameManager for searching and identifying the game.
For details on using the GameManager, see the ElectroServer 4 Manual, Game Manager.
gameType - the game type to createusers - a Collection of users to join to the gamezoneName - the name of the zone in which to create the game room - this zone will be created if neededpassword - the password to establish on the game room, this password will be needed for any users to enter laterlocked - if the game room is to be locked initially (this can be changed later if needed)hidden - if the game room is to be hidden initially (this can be changed later if needed)gameDetails - the custom details of the game that are to be made available to the GameManager (this can be changed later if needed)
GameManagerResponse,
EsObject
GameManagerResponse createGameForUsers(String gameType,
String[] users,
String zoneName,
String password,
boolean locked,
boolean hidden,
EsObject gameDetails)
Used to directly create a game for the identified users via the GameManager. Once this game is created, it will behave just as though it were created via clients.
The hidden, locked, and gameDetails parameters all relate to the state of the game once creation is complete. Locked is used to prevent users from joining the game once it is created. Hidden is used to show or hide the game from the game list retrieved from the GameManager. GameDetails are used to provide extra information to the GameManager for searching and identifying the game.
For details on using the GameManager, see the ElectroServer 4 Manual, Game Manager.
gameType - the game type to createusers - an array of users to join to the gamezoneName - the name of the zone in which to create the game room - this zone will be created if neededpassword - the password to establish on the game room, this password will be needed for any users to enter laterlocked - if the game room is to be locked initially (this can be changed later if needed)hidden - if the game room is to be hidden initially (this can be changed later if needed)gameDetails - the custom details of the game that are to be made available to the GameManager (this can be changed later if needed)
GameManagerResponse,
EsObject
PluginPublicMessageResponse sendPluginMessageToRoom(int zoneId,
int roomId,
EsObjectRO variables)
zoneId - the zone IDroomId - the room IDvariables - the EsObject to send as part of the message
sendPluginMessageToRooms,
sendPluginMessageToServer,
sendPluginMessageToUser,
sendPluginMessageToUsers,
sendPluginMessageToZone,
sendPluginMessageToZones,
PluginPublicMessageResponse,
EsObjectRO
PluginPublicMessageResponse sendPluginMessageToRooms(Map<Integer,Collection<Integer>> zoneRoomCombos,
EsObjectRO variables)
zoneRoomCombos - a map containing the zone ID as a key tied to a list of room IDsvariables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToServer,
sendPluginMessageToUser,
sendPluginMessageToUsers,
sendPluginMessageToZone,
sendPluginMessageToZones,
PluginPublicMessageResponse,
EsObjectROPluginPublicMessageResponse sendPluginMessageToServer(EsObjectRO variables)
variables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToRooms,
sendPluginMessageToUser,
sendPluginMessageToUsers,
sendPluginMessageToZone,
sendPluginMessageToZones,
PluginPublicMessageResponse,
EsObjectRO
PluginPrivateMessageResponse sendPluginMessageToUser(String userName,
EsObjectRO variables)
userName - the name of the uservariables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToRooms,
sendPluginMessageToServer,
sendPluginMessageToUsers,
sendPluginMessageToZone,
sendPluginMessageToZones,
PluginPublicMessageResponse,
EsObjectRO
PluginPrivateMessageResponse sendPluginMessageToUsers(Collection<String> userNames,
EsObjectRO variables)
userNames - a Collection of user names that should receive this mesagevariables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToRooms,
sendPluginMessageToServer,
sendPluginMessageToUser,
sendPluginMessageToZone,
sendPluginMessageToZones,
PluginPublicMessageResponse,
EsObjectRO
PluginPrivateMessageResponse sendPluginMessageToUsers(String[] userNames,
EsObjectRO variables)
userNames - an array of user names that should receive this mesagevariables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToRooms,
sendPluginMessageToServer,
sendPluginMessageToUser,
sendPluginMessageToZone,
sendPluginMessageToZones,
PluginPublicMessageResponse,
EsObjectRO
PluginPublicMessageResponse sendPluginMessageToZone(int zoneId,
EsObjectRO variables)
zoneId - the zone IDvariables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToRooms,
sendPluginMessageToServer,
sendPluginMessageToUser,
sendPluginMessageToUsers,
sendPluginMessageToZones,
PluginPublicMessageResponse,
EsObjectRO
PluginPublicMessageResponse sendPluginMessageToZones(Collection<Integer> zoneIds,
EsObjectRO variables)
zoneIds - a Collection of zone IDsvariables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToRooms,
sendPluginMessageToServer,
sendPluginMessageToUser,
sendPluginMessageToUsers,
sendPluginMessageToZone,
PluginPublicMessageResponse,
EsObjectRO
PluginPublicMessageResponse sendPluginMessageToZones(int[] zoneIds,
EsObjectRO variables)
zoneIds - an array of zone IDsvariables - the EsObject to send as part of the message
sendPluginMessageToRoom,
sendPluginMessageToRooms,
sendPluginMessageToServer,
sendPluginMessageToUser,
sendPluginMessageToUsers,
sendPluginMessageToZone,
PluginPublicMessageResponse,
EsObjectRO
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||