multiverse.mars.plugins
Class MarsLoginPlugin
java.lang.Object
multiverse.server.engine.EnginePlugin
multiverse.server.worldmgr.LoginPlugin
multiverse.mars.plugins.MarsLoginPlugin
- All Implemented Interfaces:
- MessageCallback, StatusMapCallback, multiverse.server.network.TcpAcceptCallback
public class MarsLoginPlugin
- extends LoginPlugin
Mars LoginPlugin implementation. Reads and stores characters using
the Engine database.
| Nested classes/interfaces inherited from class multiverse.server.engine.EnginePlugin |
EnginePlugin.DeleteHook, EnginePlugin.DeleteSubObjHook, EnginePlugin.GenerateSubObjectHook, EnginePlugin.GetPropertyMessage, EnginePlugin.LoadHook, EnginePlugin.LoadSubObjHook, EnginePlugin.PluginActivateHook, EnginePlugin.PluginStateMessage, EnginePlugin.SaveHook, EnginePlugin.SaveSubObjHook, EnginePlugin.SetPropertyMessage, EnginePlugin.SubObjData, EnginePlugin.TransferFilter, EnginePlugin.TransferObjectMessage, EnginePlugin.UnloadHook, EnginePlugin.UnloadSubObjHook |
| Fields inherited from class multiverse.server.engine.EnginePlugin |
deleteSubObjectSubscription, dumpAllThreadSubscription, dumpAllThreadSubscriptionLock, loadSubObjectSubscription, lock, MSG_TYPE_DUMP_ALL_THREAD_STACKS, MSG_TYPE_GET_PROPERTY, MSG_TYPE_PLUGIN_STATE, MSG_TYPE_SET_PROPERTY, MSG_TYPE_SET_PROPERTY_NONBLOCK, MSG_TYPE_TRANSFER_OBJECT, pluginStateSubscription, propertySubscription, saveSubObjectSubscription, selectionFilter, selectionSubscription, setSubObjectPersistenceSubscription, subObjectSubscription, unloadSubObjectSubscription |
| Methods inherited from class multiverse.server.engine.EnginePlugin |
activate, createMBeanInstance, createSubscription, getHookManager, getMessageHandler, getName, getObjectLockManager, getObjectProperties, getObjectProperties, getObjectProperty, getPercentCPULoad, getPluginInfo, getPluginNamespaces, getPluginState, getPluginStatus, getPluginType, getPropertyImpl, getStatusMap, handleMessage, handleMessageImpl, logDepsOutstanding, processKeysAndValues, registerActivateHook, registerDeleteHook, registerLoadHook, registerPluginNamespace, registerPluginNamespaces, registerPluginNamespaces, registerPluginNamespaces, registerSaveHook, registerTransferHook, registerUnloadHook, sendSubObjectResponse, sendSubObjectResponse, sendSubObjectResponse, setMessageHandler, setName, setObjectProperties, setObjectProperties, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectProperty, setObjectPropertyNoResponse, setPercentCPULoad, setPluginInfo, setPluginType, setPropertyImpl, transferObject |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
characterProps
protected static java.util.Map<Namespace,java.util.Set<java.lang.String>> characterProps
MarsLoginPlugin
public MarsLoginPlugin()
handleCharacterRequestMessage
protected LoginPlugin.CharacterResponseMessage handleCharacterRequestMessage(LoginPlugin.CharacterRequestMessage message,
java.nio.channels.SocketChannel clientSocket)
- Return character list. For each character, the following
properties are returned:
- Long characterId: character oid
- String characterName
- String displayContext: the character's display context. The
DisplayContext is serialized into a string format understood
by the client's default login script.
This implementation does not truly authorize the auth token.
The auth token should contain a 32-bit integer which is taken as
the account id. (bitwise negated if SecureToken is true).
The returned world token is a fixed place holder.
- Overrides:
handleCharacterRequestMessage in class LoginPlugin
- Parameters:
message - Character request message.clientSocket - Socket to the client.
handleCharacterDeleteMessage
protected LoginPlugin.CharacterDeleteResponseMessage handleCharacterDeleteMessage(LoginPlugin.CharacterDeleteMessage message,
java.nio.channels.SocketChannel clientSocket,
multiverse.server.network.MVByteBuffer authorizedToken)
- Delete a character. On success, the returned
properties is the supplied properties plus new properties:
- Boolean status: TRUE
- whatever the character factory adds to the properties
On an internal failure, the returned properties contain only:
- Boolean status: FALSE
- String errorMessage
- Overrides:
handleCharacterDeleteMessage in class LoginPlugin
- Parameters:
message - Character delete message.clientSocket - Socket to the client.authorizedToken - Proxy authorization token.
handleCharacterCreateMessage
protected LoginPlugin.CharacterCreateResponseMessage handleCharacterCreateMessage(LoginPlugin.CharacterCreateMessage message,
java.nio.channels.SocketChannel clientSocket,
multiverse.server.network.MVByteBuffer authorizedToken)
- Create a character. The character properties are passed to the
global character generator. On success, the returned
properties is the supplied properties plus new properties:
- Boolean status: TRUE
- Long characterId: new character's oid
- whatever the character factory adds to the properties
If the properties contains "errorMessage" after calling the
character factory, the character is not saved, and the
properties are returned to the client.
On an internal failure, the returned properties contain only:
- Boolean status: FALSE
- String errorMessage
- Overrides:
handleCharacterCreateMessage in class LoginPlugin
- Parameters:
message - Character create message.clientSocket - Socket to the client.authorizedToken - Proxy authorization token.
setCharacterProperties
protected void setCharacterProperties(java.util.Map<java.lang.String,java.io.Serializable> props,
Entity entity)
registerCharacterProperty
public static void registerCharacterProperty(Namespace namespace,
java.lang.String propName)