Atavism Version 2018.1AGIS API

atavism.agis.plugins
Class AgisProxyPlugin

java.lang.Object
  extended by atavism.server.engine.EnginePlugin
      extended by atavism.server.plugins.ProxyPlugin
          extended by atavism.agis.plugins.AgisProxyPlugin
All Implemented Interfaces:
MessageCallback, StatusMapCallback, ClientConnection.AcceptCallback, ClientConnection.MessageCallback, java.lang.Runnable

public class AgisProxyPlugin
extends ProxyPlugin
implements java.lang.Runnable

handles client traffic to the rest of the servers


Nested Class Summary
 class AgisProxyPlugin.AddFriendHook
           
 class AgisProxyPlugin.CancelLogoutRequestHook
           
 class AgisProxyPlugin.GetFriendsHook
           
 class AgisProxyPlugin.LogoutRequestHook
           
 
Nested classes/interfaces inherited from class atavism.server.plugins.ProxyPlugin
ProxyPlugin.AddStaticPerceptionMessage, ProxyPlugin.CommandAccessCheck, ProxyPlugin.CommandParser, ProxyPlugin.EventCallback, ProxyPlugin.PlayerLoginStatus, ProxyPlugin.PlayerMessageCallback, ProxyPlugin.PluginMessageCallback, ProxyPlugin.ProxyJMX, ProxyPlugin.ProxyJMXMBean
 
Nested classes/interfaces inherited from class atavism.server.engine.EnginePlugin
EnginePlugin.DeleteHook, EnginePlugin.DeleteSubObjHook, EnginePlugin.GenerateSubObjectHook, EnginePlugin.GetPropertyMessage, EnginePlugin.GetPropertyNamesMessage, EnginePlugin.LoadHook, EnginePlugin.LoadSubObjHook, EnginePlugin.PluginActivateHook, EnginePlugin.PluginStateMessage, EnginePlugin.SaveHook, EnginePlugin.SaveSubObjHook, EnginePlugin.SetPropertyMessage, EnginePlugin.SubObjData, EnginePlugin.TransferFilter, EnginePlugin.TransferObjectMessage, EnginePlugin.UnloadHook, EnginePlugin.UnloadSubObjHook
 
Field Summary
static java.util.HashMap<OID,java.lang.Long> bannedUsers
           
static java.util.HashMap<java.lang.String,java.util.ArrayList<OID>> chatChannelSubscribers
           
static java.util.HashMap<OID,java.util.ArrayList<OID>> friendReverseMap
           
static int LOGOUT_TIME
           
static boolean LOGOUT_TO_CHARACTER_SELECTION
           
static java.util.HashMap<OID,atavism.agis.plugins.AgisProxyPlugin.ScheduledLogout> scheduledLogouts
           
 
Fields inherited from class atavism.server.plugins.ProxyPlugin
capacityError, clientPort, commandMapLock, defaultAllowClientToClientMessage, extensionHooks, extensionMessageRegistry, extraPlayerMessageTypes, idleTimeout, log, maxByteCountBeforeConnectionReset, MaxConcurrentUsers, maxMessagesBeforeConnectionReset, MSG_TYPE_ACCOUNT_LOGIN, MSG_TYPE_ADD_STATIC_PERCEPTION, MSG_TYPE_GET_MATCHING_PLAYERS, MSG_TYPE_GET_PLAYER_LOGIN_STATUS, MSG_TYPE_LOGIN_SPAWNED, MSG_TYPE_LOGOUT_PLAYER, MSG_TYPE_PLAYER_IGNORE_LIST, MSG_TYPE_PLAYER_IGNORE_LIST_REQ, MSG_TYPE_PLAYER_PATH_REQ, MSG_TYPE_RELAY_UPDATE_PLAYER_IGNORE_LIST, MSG_TYPE_REMOVE_STATIC_PERCEPTION, MSG_TYPE_UPDATE_PLAYER_IGNORE_LIST, MSG_TYPE_VOICE_PARMS, PERCEPTION_GAIN_THRESHOLD, perceptionFilter, perceptionSubId, playerManager, proxyCallbackHistogram, proxyQueueHistogram, responderFilter, responderSubId, serverCapabilitiesSentToClient, serverSocket, silenceLoadingTimeout, silenceTimeout, tokenError, voiceServerHost, voiceServerPort
 
Fields inherited from class atavism.server.engine.EnginePlugin
deleteSubObjectSubscription, dumpAllThreadSubscription, dumpAllThreadSubscriptionLock, loadSubObjectSubscription, lock, MSG_TYPE_DUMP_ALL_THREAD_STACKS, MSG_TYPE_GET_PROPERTY, MSG_TYPE_GET_PROPERTY_NAMES, 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
 
Fields inherited from interface atavism.msgsys.MessageCallback
NO_FLAGS, RESPONSE_EXPECTED
 
Constructor Summary
AgisProxyPlugin()
           
 
Method Summary
 java.util.Set<OID> getOids()
          Used to get a Set of all players logged in.
 OID getPlayerOid(java.lang.String name)
           
 boolean isPlayerOnline(OID oid)
           
protected  void logPlayerOut(OID playerOid)
           
 void onActivate()
          onActivate() is the real startup method.
protected  boolean processLogin(ClientConnection con, AuthorizedLoginEvent loginEvent)
          process login message from the client.
protected  void registerProxyHooks()
           
protected static void removeAccountFromBanList(OID accountID)
           
 void run()
           
 void SendFriendsList(OID playerOid)
           
protected  void sendPlayersOnline(boolean loggingOut)
           
 
Methods inherited from class atavism.server.plugins.ProxyPlugin
acceptConnection, addAdmin, addExtraPlayerExtensionMessageType, addExtraPlayerMessageType, addFilteredProperty, addPlayerMessage, addPlayerSpecificProperty, addProxyExtensionHook, addStaticPerception, addStaticPerception, allowClientToClientMessage, connectionReset, createMBeanInstance, getAdmins, getExtensionMessageType, getExtraPlayerMessageTypes, getInstanceEntryCallback, getPlayer, getPlayerNames, getPlayerOids, getPlayers, getProxyExtensionHooks, getProxyLoginCallback, getStatusMap, handleFreeRoad, handleFullInstance, incrementChatCount, incrementPrivateChatCount, initializeVoiceServerInformation, isAdmin, isDevMode, loadPlayerObject, matchingPlayers, processAbilityStatusEvent, processActivateItem, processAutoAttack, processCom, processCommand, processConnectionResetInternal, processDirLocOrient, processExtensionMessageEvent, processLoginHelper, processLogout, processPacket, processPlayerIgnoreList, processQuestResponse, processReqConcludeQuest, processRequestQuestInfo, processSceneLoaded, pushInstanceRestorePoint, recreatePlayerSpecificCache, registerCommand, registerCommand, registerExtensionSubtype, removeStaticPerception, sendOceanData, sendPlayerIgnoreList, setDevMode, setExtraPlayerMessageTypes, setInstanceEntryCallback, setProxyLoginCallback, specialCaseFreeProcessing, specialCaseNewProcessing, unregisterExtensionSubtype, updateIgnoredOids, verifyPlayer
 
Methods inherited from class atavism.server.engine.EnginePlugin
activate, createSubscription, getHookManager, getMessageHandler, getName, getObjectLockManager, getObjectProperties, getObjectProperties, getObjectProperty, getObjectPropertyNames, getPercentCPULoad, getPluginAvailable, getPluginInfo, getPluginNamespaces, getPluginState, getPluginStatus, getPluginType, getPropertyImpl, getPropertyNamesImpl, handleMessage, handleMessageImpl, logDepsOutstanding, processKeysAndValues, registerActivateHook, registerDeleteHook, registerLoadHook, registerPluginNamespace, registerPluginNamespaces, registerPluginNamespaces, registerPluginNamespaces, registerSaveHook, registerTransferHook, registerUnloadHook, sendSubObjectResponse, sendSubObjectResponse, sendSubObjectResponse, setMessageHandler, setName, setObjectProperties, setObjectProperties, setObjectProperties, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectPropertiesNoResponse, setObjectProperty, setObjectPropertyNoResponse, setPercentCPULoad, setPluginAvailable, setPluginInfo, setPluginType, setPropertyImpl, transferObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface atavism.msgsys.MessageCallback
handleMessage
 

Field Detail

bannedUsers

public static java.util.HashMap<OID,java.lang.Long> bannedUsers

friendReverseMap

public static java.util.HashMap<OID,java.util.ArrayList<OID>> friendReverseMap

chatChannelSubscribers

public static java.util.HashMap<java.lang.String,java.util.ArrayList<OID>> chatChannelSubscribers

scheduledLogouts

public static java.util.HashMap<OID,atavism.agis.plugins.AgisProxyPlugin.ScheduledLogout> scheduledLogouts

LOGOUT_TIME

public static int LOGOUT_TIME

LOGOUT_TO_CHARACTER_SELECTION

public static boolean LOGOUT_TO_CHARACTER_SELECTION
Constructor Detail

AgisProxyPlugin

public AgisProxyPlugin()
Method Detail

onActivate

public void onActivate()
Description copied from class: ProxyPlugin
onActivate() is the real startup method. It:
  • Initializes the PacketAggregator, which groups together messages to the client if they are created in a short interval, defaulting to 25ms.
  • Initilizes display of message processing time histograms.
  • Enumerates the list of properties in PropertyMessages that don't need to be sent to the client, because the client doesn't pay attention to them. This is not yet customizable, but should be.
  • Calls registerHooks to enumerate the proxy's message processing hooks.
  • Establishes the PerceptionFilter for the many message types sent by other plugins, to which players and other objects will be added as the are created, and creates the master subscription using the PerceptionFilter. This is not yet customizable, but should be.
  • Creates and opens the RDP listener using the proxy listener port.
  • Creates and opens the TCP listener using the proxy listern port.
  • Overrides:
    onActivate in class ProxyPlugin
    See Also:
    ProxyPlugin.registerHooks(), ProxyPlugin.EventCallback.doWork(java.lang.Object, java.lang.Object)

    registerProxyHooks

    protected void registerProxyHooks()

    run

    public void run()
    Specified by:
    run in interface java.lang.Runnable

    processLogin

    protected boolean processLogin(ClientConnection con,
                                   AuthorizedLoginEvent loginEvent)
    process login message from the client.

    Overrides:
    processLogin in class ProxyPlugin
    Parameters:
    con - The connection to the client.
    loginEvent - The client message that asks to log the client in.

    logPlayerOut

    protected void logPlayerOut(OID playerOid)

    sendPlayersOnline

    protected void sendPlayersOnline(boolean loggingOut)

    getOids

    public java.util.Set<OID> getOids()
    Used to get a Set of all players logged in.

    Returns:

    getPlayerOid

    public OID getPlayerOid(java.lang.String name)

    isPlayerOnline

    public boolean isPlayerOnline(OID oid)

    removeAccountFromBanList

    protected static void removeAccountFromBanList(OID accountID)

    SendFriendsList

    public void SendFriendsList(OID playerOid)


    Copyright © 2018 Dragonsan Studios Sp. z o.o.