This is a Collection of utilities for Screeps Private Server admins.
[!CAUTION] Experimental version. Use official screepsmod-admin-utils for the best experience.
[!IMPORTANT] screepsmod-mongo is required for map imports.
After importing a map, restart the server and use system.resumeSimulation()
to unpause (start) game ticks.
Imports a map from a url or maps.screepspl.us
If the id is random
or random_WxH
a map will be randomly selected.
1x1 is assumed if size isn't specified.
Imports a map from a json file.
Creates NPC Terminals.
The interval
defines how often they are added, with the default value of 10
matching the behavior of the public server.
A simple way to understand the interval
is that it will place rooms where x % interval === 0 && y % interval === 0
.
Removes all NPC Terminals.
Removes all Bots.
Sets socket update rate (in ms)
Returns current socket update rate
Sets the shard name
Returns current cpu limit for username.
Sets cpu limit to value for username. Will be overriden if GCLToCPU scaling is enabled.
Enables GCLToCPU scaling which raises all user's CPU limit based on their GCL. The formula is Math.min((gclLevel * stepCPU + baseCPU), maxCPU)
. Parameters are optional and default to maxCPU: 300, baseCPU: 20, stepCPU: 10. Enabling through the CLI will not persist after a server restart. Update the values in your config.yml to persist the settings.
Disables GCLToCPU scaling. Disabling through the CLI will not persist after a server restart. Update the values in your config.yml to persist the setting.
Reloads the serverConfig section of a screeps-launcher config.yml
config.yml example: (This can be the same file as screeps-launcher's config.yml)
# Most of these fields will live reload on save.
# Values set here will override any saved via CLI on server startup
serverConfig:
map: random_1x2 # utils.importMap will be called automatically with this value, see utils.importMap above
tickRate: 200
socketUpdateRate: 200
whitelist: # Does not restrict login, only restricts spawning
- ags131
- zeswarm
shardName: 'screepsplus1'
constants:
UPGRADE_POWER: 10
POWER_CREEP_SPAWN_COOLDOWN: 3600000 # 1 Hour
POWER_CREEP_DELETE_COOLDOWN: 3600000
welcomeText: |
<h1>Welcome</h1>
<div>Powered by screepsmod-admin-utils</div>
statsToken: ...splusToken... # This enables submitting stats to S+ Grafana. Note: shardName MUST be set
gclToCPU: true
maxCPU: 100
baseCPU: 20
stepCPU: 10
A few extra endpoints are implemented enabling some extra debuging and tools.
-
GET /stats
Lots of useful stats on server performance. -
GET /api/user/world-start-room
Dynamically returns a start room for the client. -
GET /api/experimental/pvp
Same as on mmo, returns active pvp rooms. -
GET /api/experimental/nukes
Same as on mmo, returns nukes.