|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjfreerails.network.FreerailsGameServer
public class FreerailsGameServer
When executed by a thread, this class does the following: reads and executes moves and commands received from connected clients; sends moves and commands to connected clients.
InetConnectionAccepter,
Connection2Client| Field Summary | |
|---|---|
private java.util.HashMap<NameAndPassword,Connection2Client> |
acceptedConnections
|
private int |
commandID
|
private int |
confirmationID
ID of the last SetWorldMessage2Client sent out. |
private java.util.HashSet<NameAndPassword> |
confirmedPlayers
The players who have confirmed that they have received the last copy of the world object sent. |
static java.lang.String |
CONNECTED_PLAYERS
Used as a property name for property change events. |
private java.util.HashSet<NameAndPassword> |
currentlyLoggedOn
|
private static java.util.logging.Logger |
logger
|
private boolean |
newPlayersAllowed
|
private java.util.ArrayList<NameAndPassword> |
players
|
private java.beans.PropertyChangeSupport |
propertyChangeSupport
|
private SavedGamesManager |
savedGamesManager
|
private ServerGameModel |
serverGameModel
|
private SynchronizedFlag |
status
|
| Fields inherited from interface jfreerails.controller.ServerControlInterface |
|---|
FREERAILS_SAV, VERSION |
| Constructor Summary | |
|---|---|
FreerailsGameServer(SavedGamesManager gamesManager)
|
|
| Method Summary | |
|---|---|
void |
addConnection(Connection2Client connection)
|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener l)
|
int |
countOpenConnections()
|
(package private) World |
getCopyOfWorld()
|
private int |
getNextClientCommandId()
|
java.lang.String[] |
getPlayerNames()
|
private World |
getWorld()
|
(package private) boolean |
isConfirmed(int player)
|
boolean |
isNewPlayersAllowed()
|
private boolean |
isPlayer(java.lang.String username)
|
void |
loadgame(java.lang.String saveGameName)
|
void |
logoff(int player)
|
LogOnResponse |
logon(LogOnRequest lor)
|
void |
newGame(java.lang.String mapName)
|
void |
newGame(java.lang.String mapName,
int numAI)
|
void |
refreshSavedGames()
|
private void |
removeConnection(NameAndPassword p)
|
void |
removePropertyChangeListener(java.beans.PropertyChangeListener l)
|
void |
run()
|
void |
savegame(java.lang.String saveGameName)
|
private void |
send2All(FreerailsSerializable message)
|
private void |
send2AllExcept(Connection2Client dontSend2,
FreerailsSerializable message)
Sends the specified message to all connections except the specified one. |
private void |
sendListOfConnectedPlayers2Clients()
|
private void |
sendWorldUpdatedCommand()
|
void |
setNewPlayersAllowed(boolean newPlayersAllowed)
|
void |
setServerGameModel(ServerGameModel serverGameModel)
|
static FreerailsGameServer |
startServer(SavedGamesManager gamesManager)
|
void |
stop()
|
void |
stopGame()
|
void |
update()
Updates the game model, then reads and deals with the outstanding messages from each of the connected clients. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String CONNECTED_PLAYERS
private static final java.util.logging.Logger logger
private final java.util.HashMap<NameAndPassword,Connection2Client> acceptedConnections
private int commandID
private int confirmationID
private java.util.HashSet<NameAndPassword> confirmedPlayers
private java.util.HashSet<NameAndPassword> currentlyLoggedOn
private boolean newPlayersAllowed
private java.util.ArrayList<NameAndPassword> players
private final java.beans.PropertyChangeSupport propertyChangeSupport
private final SavedGamesManager savedGamesManager
private ServerGameModel serverGameModel
private final SynchronizedFlag status
| Constructor Detail |
|---|
public FreerailsGameServer(SavedGamesManager gamesManager)
| Method Detail |
|---|
public static FreerailsGameServer startServer(SavedGamesManager gamesManager)
public void addConnection(Connection2Client connection)
addConnection in interface GameServerpublic void addPropertyChangeListener(java.beans.PropertyChangeListener l)
public int countOpenConnections()
countOpenConnections in interface GameServerWorld getCopyOfWorld()
private int getNextClientCommandId()
public java.lang.String[] getPlayerNames()
private World getWorld()
boolean isConfirmed(int player)
public boolean isNewPlayersAllowed()
private boolean isPlayer(java.lang.String username)
public void loadgame(java.lang.String saveGameName)
throws java.io.IOException
loadgame in interface ServerControlInterfacejava.io.IOExceptionpublic void logoff(int player)
public LogOnResponse logon(LogOnRequest lor)
public void newGame(java.lang.String mapName,
int numAI)
public void newGame(java.lang.String mapName)
newGame in interface ServerControlInterface
private void removeConnection(NameAndPassword p)
throws java.io.IOException
java.io.IOExceptionpublic void removePropertyChangeListener(java.beans.PropertyChangeListener l)
public void run()
run in interface java.lang.Runnablepublic void savegame(java.lang.String saveGameName)
savegame in interface ServerControlInterfaceprivate void send2All(FreerailsSerializable message)
private void send2AllExcept(Connection2Client dontSend2,
FreerailsSerializable message)
private void sendListOfConnectedPlayers2Clients()
throws java.io.IOException
java.io.IOExceptionprivate void sendWorldUpdatedCommand()
public void setNewPlayersAllowed(boolean newPlayersAllowed)
public void setServerGameModel(ServerGameModel serverGameModel)
public void stop()
stop in interface GameServerpublic void stopGame()
stopGame in interface ServerControlInterfacepublic void update()
update in interface GameModelpublic void refreshSavedGames()
refreshSavedGames in interface ServerControlInterface
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||