mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-16 17:05:20 +01:00
Enable script in big world (#884)
* add docs for tower * fix: LEAK: ByteBuf.release() was not called * enableScriptInBigWorld * not print log when loaded scripts from cache * revert the change of server tick * revert the change of server tick * fix * optimize the performance: lazy load & cache * fix the refresh group * fix NPE Co-authored-by: Melledy <52122272+Melledy@users.noreply.github.com>
This commit is contained in:
@@ -57,7 +57,6 @@ public final class GameServer extends KcpServer {
|
||||
|
||||
private final CombineManger combineManger;
|
||||
private final TowerScheduleManager towerScheduleManager;
|
||||
|
||||
public GameServer() {
|
||||
this(new InetSocketAddress(
|
||||
GAME_INFO.bindAddress,
|
||||
@@ -205,23 +204,23 @@ public final class GameServer extends KcpServer {
|
||||
}
|
||||
return DatabaseHelper.getAccountByName(username);
|
||||
}
|
||||
|
||||
public void onTick() throws Exception {
|
||||
|
||||
public synchronized void onTick(){
|
||||
Iterator<World> it = this.getWorlds().iterator();
|
||||
while (it.hasNext()) {
|
||||
World world = it.next();
|
||||
|
||||
|
||||
if (world.getPlayerCount() == 0) {
|
||||
it.remove();
|
||||
}
|
||||
|
||||
|
||||
world.onTick();
|
||||
}
|
||||
|
||||
|
||||
for (Player player : this.getPlayers().values()) {
|
||||
player.onTick();
|
||||
}
|
||||
|
||||
|
||||
ServerTickEvent event = new ServerTickEvent(); event.call();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user