Package com.tenio.core.api.implement
Class ServerApiImpl
java.lang.Object
com.tenio.common.logger.AbstractLogger
com.tenio.common.logger.SystemLogger
com.tenio.core.api.implement.ServerApiImpl
- All Implemented Interfaces:
ServerApi
An implementation for Server APIs.
-
Method Summary
Modifier and TypeMethodDescriptionaddRoom(Room room, InitialRoomSetting roomSetting, Player roomOwner) Adds a new room to the server.createRoom(InitialRoomSetting roomSetting, Player roomOwner) Creates a new room on the server.intRetrieves the current available UDP port.getPlayerByName(String playerName) Retrieves a player on the server by using its name.intFetches the current number of players activating on the server.Retrieves an iterator for the global player management list on the server.Retrieves a read-only global player management list on the server.Retrieves a read-only global room management list on the server.getRoomById(long roomId) Retrieves a room instance by using its ID.intFetches the current number of rooms on the server.Retrieves an iterator for the room management list on the server.longRetrieves the time when server starts in milliseconds.longRetrieves the current uptime of server in milliseconds.voidAllows a player to join a particular room.voidleaveRoom(Player player, PlayerLeaveRoomMode leaveRoomMode) Makes a player to leave its current room.voidAllows creating an instance of a player on the server which could be a custom one.voidAllows creating an instance of a player in the server.voidAllows creating an instance of a player in the server.voidlogout(Player player, ConnectionDisconnectMode connectionDisconnectMode, PlayerDisconnectMode playerDisconnectMode) Removes a player from the management list and from the server as well.static ServerApinewInstance(Server server) Initialization.voidremoveRoom(Room room, RoomRemoveMode removeRoomMode) Removes a room from the management list, server.Methods inherited from class com.tenio.common.logger.SystemLogger
debug, debugEvent, isDebugEnabled, isTraceEnabled, trace, traceMethods inherited from class com.tenio.common.logger.AbstractLogger
buildgen, error, error, error, info, info, info, info, info, info, info, info, isErrorEnabled, isInfoEnabledMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.tenio.core.api.ServerApi
banPlayer, createRoom, joinRoom, joinRoom, kickPlayer, sendPrivateMessage, sendPublicMessage, switchParticipantToSpectator, switchSpectatorToParticipant
-
Method Details
-
newInstance
Initialization. -
login
Description copied from interface:ServerApiAllows creating an instance of a player in the server. The player does not contain session, it should act like a server's bot. -
login
Description copied from interface:ServerApiAllows creating an instance of a player in the server. -
login
Description copied from interface:ServerApiAllows creating an instance of a player on the server which could be a custom one. -
logout
public void logout(Player player, ConnectionDisconnectMode connectionDisconnectMode, PlayerDisconnectMode playerDisconnectMode) Description copied from interface:ServerApiRemoves a player from the management list and from the server as well. This is a silent logout, so please do not perform any responding to the client since it may not work as expected (each command runs in different threads, so it may not get synchronized. In case you want to send a message to the client before closing connect or logout the player, please use this methodResponse.writeThenClose()- Specified by:
logoutin interfaceServerApi- Parameters:
player- the currentPlayerin the management list, on the serverconnectionDisconnectMode-ConnectionDisconnectModesession disconnected reasonplayerDisconnectMode-PlayerDisconnectModeplayer disconnected reason- See Also:
-
createRoom
Description copied from interface:ServerApiCreates a new room on the server.- Specified by:
createRoomin interfaceServerApi- Parameters:
roomSetting- all roomInitialRoomSettingat the time its createdroomOwner- aPlayerowner of this room, owner can also be declared bynullvalue- Returns:
- a new instance of
Roomif available, otherwisenull
-
addRoom
Description copied from interface:ServerApiAdds a new room to the server.- Specified by:
addRoomin interfaceServerApi- Parameters:
room- an instance ofRoomroomSetting- all settings created by aInitialRoomSettingbuilderroomOwner- aPlayeras the room's owner- Returns:
- the room instance
-
getPlayerByName
Description copied from interface:ServerApiRetrieves a player on the server by using its name.- Specified by:
getPlayerByNamein interfaceServerApi- Parameters:
playerName- a uniqueStringvalue for player's name on the server- Returns:
- a corresponding instance of optional
Player - See Also:
-
getPlayerCount
public int getPlayerCount()Description copied from interface:ServerApiFetches the current number of players activating on the server.- Specified by:
getPlayerCountin interfaceServerApi- Returns:
- the current number of players (
integervalue)
-
getPlayerIterator
Description copied from interface:ServerApiRetrieves an iterator for the global player management list on the server. This method should be used to prevent the "escape references" issue.- Specified by:
getPlayerIteratorin interfaceServerApi- Returns:
- an iterator of
Playermanagement list - See Also:
-
getReadonlyPlayersList
Description copied from interface:ServerApiRetrieves a read-only global player management list on the server. This method should be used to prevent the "escape references" issue.- Specified by:
getReadonlyPlayersListin interfaceServerApi- Returns:
- a list of all
Players in the management list on the server - See Also:
-
getRoomById
Description copied from interface:ServerApiRetrieves a room instance by using its ID.- Specified by:
getRoomByIdin interfaceServerApi- Parameters:
roomId- a unique room ID (longvalue)- Returns:
- an optional
Roominstance - See Also:
-
getRoomIterator
Description copied from interface:ServerApiRetrieves an iterator for the room management list on the server. This method should be used to prevent the "escape references" issue.- Specified by:
getRoomIteratorin interfaceServerApi- Returns:
- a list of all rooms
Roomin the management list on the server - See Also:
-
getReadonlyRoomsList
Description copied from interface:ServerApiRetrieves a read-only global room management list on the server. This method should be used to prevent the "escape references" issue.- Specified by:
getReadonlyRoomsListin interfaceServerApi- Returns:
- a list of all rooms
Roomin the management list on the server - See Also:
-
getRoomCount
public int getRoomCount()Description copied from interface:ServerApiFetches the current number of rooms on the server.- Specified by:
getRoomCountin interfaceServerApi- Returns:
- the current number of rooms (
integervalue)
-
joinRoom
public void joinRoom(Player player, Room room, String roomPassword, int slotInRoom, boolean asSpectator) Description copied from interface:ServerApiAllows a player to join a particular room.- Specified by:
joinRoomin interfaceServerApi- Parameters:
player- the joiningPlayerroom- the currentRoomroomPassword- aStringcredential using for a player to join room. In case of free join, this value would be set tonullslotInRoom- the position of player located in the room (integervalue)asSpectator- sets bytrueif the player operating in the room as a spectator, otherwise sets itfalse
-
leaveRoom
Description copied from interface:ServerApiMakes a player to leave its current room.- Specified by:
leaveRoomin interfaceServerApi- Parameters:
player- the leavingPlayerleaveRoomMode- a rule (PlayerLeaveRoomMode) applied for the leaving player
-
removeRoom
Description copied from interface:ServerApiRemoves a room from the management list, server.- Specified by:
removeRoomin interfaceServerApi- Parameters:
room- the removingRoomremoveRoomMode- a rule (RoomRemoveMode) applied for the removing room
-
getCurrentAvailableUdpPort
public int getCurrentAvailableUdpPort()Description copied from interface:ServerApiRetrieves the current available UDP port.- Specified by:
getCurrentAvailableUdpPortin interfaceServerApi- Returns:
- an
integervalue of UDP port
-
getStartedTime
public long getStartedTime()Description copied from interface:ServerApiRetrieves the time when server starts in milliseconds.- Specified by:
getStartedTimein interfaceServerApi- Returns:
- started time in milliseconds
-
getUptime
public long getUptime()Description copied from interface:ServerApiRetrieves the current uptime of server in milliseconds.
-