Package mindustry.core
Class NetServer
java.lang.Object
mindustry.core.NetServer
- All Implemented Interfaces:
arc.ApplicationListener
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfacestatic interfacestatic interfaceclass -
Field Summary
FieldsModifier and TypeFieldDescriptionConverts a message + NULLABLE player sender into a single string.arc.util.CommandHandlerCurrent kick session.Handles an incorrect command response.static intDuration of a kick in seconds.longUsed for entity snapshot timing.static intCooldown between votes in seconds.static floatVoting round duration in seconds. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBinaryPacketHandler(String type, arc.func.Cons2<mindustry.gen.Player, byte[]> handler) voidaddLogicDataHandler(String type, arc.func.Cons2<mindustry.gen.Player, Object> handler) voidaddPacketHandler(String type, arc.func.Cons2<mindustry.gen.Player, String> handler) static voidadminRequest(mindustry.gen.Player player, mindustry.gen.Player other, Packets.AdminAction action, Object params) assignTeam(mindustry.gen.Player current) assignTeam(mindustry.gen.Player current, Iterable<mindustry.gen.Player> players) voidbuildHealthUpdate(mindustry.gen.Building build) Queues a building health update.checkColor(String str) static voidclientLogicDataReliable(mindustry.gen.Player player, String channel, Object value) static voidclientLogicDataUnreliable(mindustry.gen.Player player, String channel, Object value) static voidclientPlanSnapshot(mindustry.gen.Player player, int groupId, TypeIO.ClientBuildPlans plans) static voidclientPlanSnapshotReceived(mindustry.gen.Player player, int groupId, TypeIO.ClientBuildPlans plans) static voidclientSnapshot(mindustry.gen.Player player, int snapshotID, int unitID, boolean dead, float x, float y, float pointerX, float pointerY, float rotation, float baseRotation, float xVelocity, float yVelocity, Tile mining, boolean boosting, boolean shooting, boolean chatting, boolean building, Block selectedBlock, int selectedRotation, arc.struct.Queue<BuildPlan> plans, float viewX, float viewY, float viewWidth, float viewHeight) static voidconnectConfirm(mindustry.gen.Player player) static voiddebugStatusClient(int value, int lastClientSnapshot) static voiddebugStatusClientUnreliable(int value, int lastClientSnapshot) arc.struct.Seq<arc.func.Cons2<mindustry.gen.Player,byte[]>> arc.struct.Seq<arc.func.Cons2<mindustry.gen.Player,String>> getPacketHandlers(String type) voidinit()booleanvoidkickAll(Packets.KickReason reason) static voidonDisconnect(mindustry.gen.Player player, String reason) voidShould only be used on the headless backend.static voidrequestAssets(mindustry.gen.Player player, short[] ids) static voidrequestBlockSnapshot(mindustry.gen.Player player, int pos) static voidrequestDebugStatus(mindustry.gen.Player player) static voidrequestWorld(mindustry.gen.Player player) voidsendAssetRequirements(mindustry.gen.Player player) protected voidsendEntitySnapshots(arc.struct.Seq<NetConnection> connections, short amount, byte[] data) voidsendWorldAndAssets(mindustry.gen.Player player) voidsendWorldData(mindustry.gen.Player player) static voidserverBinaryPacketReliable(mindustry.gen.Player player, String type, byte[] contents) static voidserverBinaryPacketUnreliable(mindustry.gen.Player player, String type, byte[] contents) static voidserverPacketReliable(mindustry.gen.Player player, String type, String contents) static voidserverPacketUnreliable(mindustry.gen.Player player, String type, String contents) static voidsyncBuilding(mindustry.gen.Building build) voidupdate()intvoidSends a block snapshot to all players.voidwriteCustomEntitySnapshot(mindustry.gen.Player player, Iterable<mindustry.gen.Syncc> entities) Writes a custom snapshot containing player-local entities; this is for entities other players don't see.protected voidwriteEntity(mindustry.gen.Syncc entity, DataOutputStream dataStream) voidDoes not check isSyncHidden.voidwriteEntitySnapshotsTeam(Team team, arc.struct.Seq<mindustry.gen.Player> players) Checks isSyncHidden for only one player per team.voidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface arc.ApplicationListener
dispose, exit, fileDropped, pause, resize, resume
-
Field Details
-
admins
-
clientCommands
public arc.util.CommandHandler clientCommands -
assigner
-
chatFormatter
Converts a message + NULLABLE player sender into a single string. Override for custom prefixes/suffixes. -
invalidHandler
Handles an incorrect command response. Returns text that will be sent to player. Override for customisation. -
currentlyKicking
Current kick session. -
kickDuration
public static int kickDurationDuration of a kick in seconds. -
voteDuration
public static float voteDurationVoting round duration in seconds. -
voteCooldown
public static int voteCooldownCooldown between votes in seconds. -
snapshotSyncTime
public long snapshotSyncTimeUsed for entity snapshot timing.
-
-
Constructor Details
-
NetServer
public NetServer()
-
-
Method Details
-
sendWorldAndAssets
public void sendWorldAndAssets(mindustry.gen.Player player) -
init
public void init()- Specified by:
initin interfacearc.ApplicationListener
-
votesRequired
public int votesRequired() -
assignTeam
-
assignTeam
-
sendAssetRequirements
public void sendAssetRequirements(mindustry.gen.Player player) -
sendWorldData
public void sendWorldData(mindustry.gen.Player player) -
addPacketHandler
-
getPacketHandlers
-
addBinaryPacketHandler
public void addBinaryPacketHandler(String type, arc.func.Cons2<mindustry.gen.Player, byte[]> handler) -
getBinaryPacketHandlers
public arc.struct.Seq<arc.func.Cons2<mindustry.gen.Player,byte[]>> getBinaryPacketHandlers(String type) -
addLogicDataHandler
-
onDisconnect
-
requestDebugStatus
public static void requestDebugStatus(mindustry.gen.Player player) -
debugStatusClient
public static void debugStatusClient(int value, int lastClientSnapshot) -
debugStatusClientUnreliable
public static void debugStatusClientUnreliable(int value, int lastClientSnapshot) -
serverPacketReliable
-
serverPacketUnreliable
-
serverBinaryPacketReliable
public static void serverBinaryPacketReliable(mindustry.gen.Player player, String type, byte[] contents) -
serverBinaryPacketUnreliable
public static void serverBinaryPacketUnreliable(mindustry.gen.Player player, String type, byte[] contents) -
clientLogicDataReliable
-
clientLogicDataUnreliable
-
syncBuilding
public static void syncBuilding(mindustry.gen.Building build) -
requestBlockSnapshot
public static void requestBlockSnapshot(mindustry.gen.Player player, int pos) -
clientPlanSnapshot
public static void clientPlanSnapshot(mindustry.gen.Player player, int groupId, @Nullable TypeIO.ClientBuildPlans plans) -
clientPlanSnapshotReceived
public static void clientPlanSnapshotReceived(mindustry.gen.Player player, int groupId, @Nullable TypeIO.ClientBuildPlans plans) -
clientSnapshot
public static void clientSnapshot(mindustry.gen.Player player, int snapshotID, int unitID, boolean dead, float x, float y, float pointerX, float pointerY, float rotation, float baseRotation, float xVelocity, float yVelocity, Tile mining, boolean boosting, boolean shooting, boolean chatting, boolean building, Block selectedBlock, int selectedRotation, @Nullable arc.struct.Queue<BuildPlan> plans, float viewX, float viewY, float viewWidth, float viewHeight) -
adminRequest
public static void adminRequest(mindustry.gen.Player player, mindustry.gen.Player other, Packets.AdminAction action, Object params) -
requestWorld
public static void requestWorld(mindustry.gen.Player player) -
requestAssets
public static void requestAssets(mindustry.gen.Player player, short[] ids) -
connectConfirm
public static void connectConfirm(mindustry.gen.Player player) -
isWaitingForPlayers
public boolean isWaitingForPlayers() -
update
public void update()- Specified by:
updatein interfacearc.ApplicationListener
-
buildHealthUpdate
public void buildHealthUpdate(mindustry.gen.Building build) Queues a building health update. This will be sent in a Call.buildHealthUpdate packet later. -
openServer
public void openServer()Should only be used on the headless backend. -
kickAll
-
writeBlockSnapshots
Sends a block snapshot to all players.- Throws:
IOException
-
writeStateSnapshot
- Throws:
IOException
-
writeEntitySnapshotsAll
Does not check isSyncHidden. Call this if no entities are hidden.- Throws:
IOException
-
writeEntitySnapshotsTeam
public void writeEntitySnapshotsTeam(Team team, arc.struct.Seq<mindustry.gen.Player> players) throws IOException Checks isSyncHidden for only one player per team. Called if FoW is enabled.- Throws:
IOException
-
sendEntitySnapshots
protected void sendEntitySnapshots(arc.struct.Seq<NetConnection> connections, short amount, byte[] data) -
writeCustomEntitySnapshot
public void writeCustomEntitySnapshot(mindustry.gen.Player player, Iterable<mindustry.gen.Syncc> entities) throws IOException Writes a custom snapshot containing player-local entities; this is for entities other players don't see.- Throws:
IOException
-
writeEntity
protected void writeEntity(mindustry.gen.Syncc entity, DataOutputStream dataStream) throws IOException - Throws:
IOException
-
fixName
-
checkColor
-