Pokemon_server / COMMANDLINE.md
Jofthomas's picture
Jofthomas HF staff
Upload 4781 files
5c2ed06 verified
Pokémon Showdown command-line tools
===================================
Pokémon Showdown provides a command-line utility `pokemon-showdown`. You can access its help anytime with `pokemon-showdown -h`.
Setup
-----
Install Node.js, clone this repository and run `./build` from inside it. (Windows users should use `node build`, and replace all future mentions of `./` in this document with `node` followed by a space.)
Every time you update the code here (such as with `git pull`), run `./build` again. (If you get errors, try running `./build --force`.)
Afterwards, you can use any of the following commands:
Supported commands
------------------
Note: Commands that ask for a team want the team in [packed team format](./sim/TEAMS.md#packed-format) or JSON format. Teambuilder export format is not supported.
`./pokemon-showdown start [--skip-build] [PORT]`
- Starts a PS server on the specified port
(Defaults to the port setting in config/config.js)
(The port setting in config/config.js defaults to 8000)
Using Pokémon Showdown as a server is documented at:
[server/README.md](./server/README.md)
(You do not need to use `./build` when using PS as a server; it will
be run automatically for you unless you use `--skip-build`.)
`./pokemon-showdown generate-team [FORMAT-ID [RANDOM-SEED]]`
- Generates a random team, and writes it to stdout in packed team format
(Format defaults to the latest Random Battles format)
`./pokemon-showdown validate-team [FORMAT-ID]`
- Reads a team in any format from stdin, and validates it
- If valid: exits with code 0
- If invalid: writes errors to stderr, exits with code 1
`./pokemon-showdown simulate-battle`
- Simulates a battle, taking input to stdin and writing output to stdout
Using Pokémon Showdown as a command-line simulator is documented at:
[sim/README.md](./sim/README.md)
`./pokemon-showdown json-team`
- Reads a team in any format from stdin, writes the unpacked JSON to stdout
`./pokemon-showdown pack-team`
- Reads a team in any format from stdin, writes the packed team to stdout
`./pokemon-showdown export-team`
- Reads a team in any format from stdin, writes the exported (human-readable) team to stdout
`./pokemon-showdown help`
- Displays this reference
Piping
------
These commands are very unixy (using stdin and stdout), so you can of course pipe them together:
```
$ ./pokemon-showdown generate-team gen8randombattle | ./pokemon-showdown export-team
Kartana @ Choice Band
Ability: Beast Boost
Level: 74
EVs: 85 HP / 85 Atk / 85 Def / 85 SpA / 85 SpD / 85 Spe
- Smart Strike
- Sacred Sword
- Knock Off
- Leaf Blade
Rotom (Rotom-Heat) @ Heavy-Duty Boots
Ability: Levitate
Level: 82
EVs: 85 HP / 85 Def / 85 SpA / 85 SpD / 85 Spe
IVs: 0 Atk
- Defog
- Will-O-Wisp
- Thunderbolt
- Overheat
Kingler @ Life Orb
Ability: Sheer Force
Level: 84
EVs: 85 HP / 85 Atk / 85 Def / 85 SpA / 85 SpD / 85 Spe
- Liquidation
- X-Scissor
- Superpower
- Rock Slide
Abomasnow @ Light Clay
Ability: Snow Warning
Level: 82
EVs: 85 HP / 85 Atk / 85 Def / 85 SpA / 85 SpD / 85 Spe
- Ice Shard
- Aurora Veil
- Earthquake
- Blizzard
Goodra @ Assault Vest
Ability: Sap Sipper
Level: 82
EVs: 85 HP / 85 Atk / 85 Def / 85 SpA / 85 SpD / 85 Spe
- Earthquake
- Power Whip
- Draco Meteor
- Fire Blast
Raikou @ Choice Specs
Ability: Pressure
Level: 80
EVs: 85 HP / 85 Def / 85 SpA / 85 SpD / 85 Spe
IVs: 0 Atk
- Scald
- Aura Sphere
- Thunderbolt
- Volt Switch
```
```
$ ./pokemon-showdown generate-team gen8randombattle | ./pokemon-showdown validate-team gen8ou
Your set for Coalossal is flagged as Gigantamax, but Gigantamaxing is disallowed
(If this was a mistake, disable Gigantamaxing on the set.)
Octillery's ability Moody is banned.
```