Planetary Annihilation is a cross platform client / server networked OpenGL application.
Any software that interferes with network connections or OpenGL can cause issues.
When playing you are connecting to a local server or hosted server over the internet.
A cabled Ethernet connection to your router will perform better than Wi-Fi for most games. After your router your ISP, their backhaul and their transit to PAnet AWS servers will determine the quality of your network connection.
Like most games you need free memory to run PA especially with a local server. A minimum spec Windows system with 8GB RAM and a dedicated GPU should normally have 6GB RAM free before starting PA.
System level crashes or mouse / keyboard freezes during live games are almost always a hardware / driver issue with your system. PA can really push your hardware to the max.
Troubleshooting: https://planetaryannihilation.com/support/troubleshooting/
A high spec dedicated server with multi-threading enabled will always out perform a public shared server: https://planetaryannihilation.com/guides/hosting-a-local-server/
Client Performance Does Not Impact Server Performance or Other Clients
The performance of individual clients has no impact on servers or other clients. ie a player with a low spec computer has no impact on the server or other players.
Sim Performance and Time Dilation
When the sim is under pressure the sim rate will slow down causing time dilation.
ie the sim time is slower than real time (this is not lag).
Sim performance depends on:
- map
- number of planets (sweet spot is under 8 unless they are tiny with MAX_PLANETS = 16 defined in media/server-script/sim_utils.js)
- radius (recommended maximum size is 800 – 1000)
- CSG (more CSG = more complex pathing and navigation)
- number of armies
- number of AIs
- increase the difficulty before adding more
- increase their eco modifier before adding more
- number of units
- number of unit interactions
- number of projectiles
- play style
- hoarding units
- area patrolling a large group of units
- CPU
- number of cores
- single thread performance: https://www.cpubenchmark.net/singleThread.html
- network usage (see below)
Games with large systems containing many big planets with lots of CSG and many players that hoard thousands of units are not going to perform well on any server.
Each shared team is considered to be a single army in the sim so a 5v5 shared is only two armies and will impact the sim less than a 5v5 unshared or 10 FFA.
Moving large groups of units will impact the sim with planet wide area patrol having the most impact.
Sim Network Throttles
The sim currently throttles to maintain each history viewpoint at a maximum of 4 Mbps (megabits per second).
Each PIP is a separate viewpoint connection multiplexed into a single TCP connection.
The maximum bandwidth per client TCP connection or socket is 16 Mbps (megabits per second).
32 players might use up to 512 Mbps (megabits per second) of outgoing bandwidth on a server.
Server RAM Usage
Server RAM usage depends on:
- system (see sim performance above)
- history
- game time
- number of units created / killed
- number of unit interactions
- number of projectiles
Large systems containing many big planets with lots of CSG will require more initial RAM during loading on both the server and clients.
RAM usage will continue to grow over time based on the number of units created / killed and unit interactions.
History is very compressible so memory compression in latest macOS, Windows 10 and Linux will help to limit RAM usage as the history grows.
Public Shared Servers
Our PAnet shared public servers currently run on Amazon Web Services (AWS) in the following regions:
- USWest (Oregon)
- USCentral (Ohio) – this was USEast (Virginia) on UberNet from March 2018 to May 2019
- USEast (Virginia)
- APSouthEast (Singapore)
- APNorthEast (Japan)
The following regions have higher capacity servers for bigger games:
- USWest (Oregon)
- USCentral (Ohio)
- USEast (Virginia)
- EUWest (Ireland)