Class ChannelServer
java.lang.Object
handling.channel.ChannelServer
遊戲頻道伺服器,負責管理單一頻道的所有在線玩家與遊戲內容。
每個 ChannelServer 實例代表一個獨立的遊戲頻道(預設 port 從 8585 起),
由 Start 透過 startChannel_Main() 平行啟動,並以 channel 編號
索引於靜態 instances 表中。主要職責:
- 持有
PlayerStorage管理該頻道已登入的MapleCharacter集合。 - 透過
ServerConnection接受 Netty 連線, 封包由MapleServerHandler分派至各處理器。 - 擁有
MapleMapFactory按需載入該頻道的地圖實例。 - 管理
EventScriptManager驅動副本/PQ 事件腳本。 - 維護頻道級的倍率設定(exp/meso/drop)、伺服器公告訊息、大聲公靜音狀態。
- 持有
MapleSquad(隊伍報名)與HiredMerchant(個人商店)的登記表。
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanaddMapleSquad(MapleSquad squad, String type) final intaddMerchant(HiredMerchant hMerchant) final voidaddPlayer(MapleCharacter chr) final voidaddPlayerNPC(PlayerNPC npc) voidbroadcastGMMessage(byte[] message) final voidbroadcastGMPacket(byte[] data) voidbroadcastMessage(byte[] message) final voidbroadcastPacket(byte[] data) voidbroadcastSmega(byte[] message) final voidbroadcastSmegaPacket(byte[] data) final intfinal booleancontainsMerchant(int accid, int cid) static voidforceRemovePlayerByAccId(MapleClient client, int accid) static voidforceRemovePlayerByCharId(MapleClient client, int charId) static voidforceRemovePlayerByCharName(MapleClient client, String Name) static voidforceRemovePlayerByCharNameFromDataBase(MapleClient client, List<String> Name) static final ArrayList<ChannelServer> final Collection<PlayerNPC> final intfinal intstatic final intintfinal intintgetEvent()final EventScriptManagerfinal intfinal intfinal intfinal intstatic final ChannelServergetInstance(int channel) final intfinal MapleMapFactoryfinal MapleSquadgetMapleSquad(String type) final MapleSquadfinal booleanfinal intfinal PlayerStoragefinal intgetPort()final Stringfinal Stringfinal Stringfinal intintfinal Stringfinal booleanintHellChis()final booleanfinal voidstatic final ChannelServernewInstance(int channel) final booleanreloadEvent(String event) final voidfinal booleanfinal voidremoveMerchant(HiredMerchant hMerchant) final voidremovePlayer(int idz, String namez) final voidfinal voidremovePlayerNPC(PlayerNPC npc) final voidfinal List<HiredMerchant> searchMerchant(int itemSearch) final voidsetChannel(int channel) final voidsetDropRate(int dropRate) final voidsetEvent(int ze) final voidsetExDropRate(int dropRate) final voidsetExExpRate(int expRate) final voidsetExMesoRate(int mesoRate) final voidsetExpRate(int expRate) final voidfinal voidsetMesoRate(int mesoRate) final voidsetServerMessage(String newMessage) final voidsetServerName(String sn) final voidfinal voidshutdown()static final voidfinal voidfinal voidunbind()
-
Field Details
-
serverStartTime
public static long serverStartTime
-
-
Method Details
-
getAllInstance
-
loadEvents
public final void loadEvents() -
run_startup_configurations
public final void run_startup_configurations() -
shutdown
public final void shutdown() -
unbind
public final void unbind() -
hasFinishedShutdown
public final boolean hasFinishedShutdown() -
getMapFactory
-
newInstance
-
getInstance
-
addPlayer
-
getPlayerStorage
-
removePlayer
-
removePlayer
-
getServerMessage
-
setServerMessage
-
broadcastPacket
public final void broadcastPacket(byte[] data) -
broadcastSmegaPacket
public final void broadcastSmegaPacket(byte[] data) -
broadcastGMPacket
public final void broadcastGMPacket(byte[] data) -
getExpRate
public final int getExpRate() -
setExpRate
public final void setExpRate(int expRate) -
setDropRate
public final void setDropRate(int dropRate) -
getCashRate
public final int getCashRate() -
getChannel
public final int getChannel() -
setChannel
public final void setChannel(int channel) -
getAllInstances
-
getSocket
-
isShutdown
public final boolean isShutdown() -
getLoadedMaps
public final int getLoadedMaps() -
getEventSM
-
reloadEvents
public final void reloadEvents() -
reloadEvent
-
getMesoRate
public final int getMesoRate() -
setMesoRate
public final void setMesoRate(int mesoRate) -
getDropRate
public final int getDropRate() -
startChannel_Main
public static final void startChannel_Main() -
getAllSquads
-
getMapleSquad
-
getMapleSquad
-
addMapleSquad
-
removeMapleSquad
-
closeAllMerchant
public final int closeAllMerchant() -
addMerchant
-
removeMerchant
-
containsMerchant
public final boolean containsMerchant(int accid, int cid) -
searchMerchant
-
toggleMegaphoneMuteState
public final void toggleMegaphoneMuteState() -
getMegaphoneMuteState
public final boolean getMegaphoneMuteState() -
getEvent
public int getEvent() -
setEvent
public final void setEvent(int ze) -
getEvent
-
getAllPlayerNPC
-
addPlayerNPC
-
removePlayerNPC
-
getServerName
-
setServerName
-
getTrueServerName
-
getPort
public final int getPort() -
getChannelServer
-
setShutdown
public final void setShutdown() -
setFinishShutdown
public final void setFinishShutdown() -
getChannelCount
public static final int getChannelCount() -
getTempFlag
public final int getTempFlag() -
getChannelLoad
-
getConnectedClients
public int getConnectedClients() -
getCheaters
-
getReports
-
broadcastMessage
public void broadcastMessage(byte[] message) -
broadcastSmega
public void broadcastSmega(byte[] message) -
broadcastGMMessage
public void broadcastGMMessage(byte[] message) -
getFireWorks
-
getTraitRate
public int getTraitRate() -
getExMesoRate
public final int getExMesoRate() -
setExMesoRate
public final void setExMesoRate(int mesoRate) -
getExDropRate
public final int getExDropRate() -
setExDropRate
public final void setExDropRate(int dropRate) -
getExExpRate
public final int getExExpRate() -
setExExpRate
public final void setExExpRate(int expRate) -
HellChis
public int HellChis() -
forceRemovePlayerByAccId
-
forceRemovePlayerByCharName
-
forceRemovePlayerByCharId
-
forceRemovePlayerByCharNameFromDataBase
-