ps
Modular Pokémon Showdown
File Explorer
Download Latest Version (.zip)- test.yml
- battle.test.ts
- field.test.ts
- pokemon.test.ts
- side.test.ts
- battle.ts
- field.ts
- handler.ts
- index.ts
- pokemon.ts
- side.ts
- LICENSE
- package.json
- README.md
- tsconfig.json
- eslint.config.mjs
- index.test.ts
- index.ts
- LICENSE
- package.json
- README.md
- tsconfig.json
- abilities.json
- aliases.json
- conditions.json
- formats-data.json
- items.json
- learnsets.json
- moves.json
- natures.json
- species.json
- types.json
- eslint.config.mjs
- index.d.ts
- LICENSE
- package.json
- README.md
- tsconfig.json
- index.test.ts
- index.ts
- LICENSE
- package.json
- README.md
- tsconfig.json
- data.json
- index.ts
- interface.ts
- index.test.ts
- adaptable.ts
- index.ts
- .gitignore
- import-data
- index.html
- LICENSE
- package.json
- README.md
- tsconfig.json
- 1.p2.log
- 1.p2.log
- client.js
- client.test.js
- sim.js
- sim.test.js
- a.txt
- b.txt
- index.ts
- build-client
- eslint.config.mjs
- index.html
- package.json
- README.md
- test
- tsconfig.json
- index.html
- index.test.ts
- index.ts
- LICENSE
- login
- package.json
- README.md
- tsconfig.json
- abilities.ts
- conditions.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- moves.ts
- rulesets.ts
- scripts.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- scripts.ts
- formats.ts
- index.ts
- moves.ts
- rulesets.ts
- scripts.ts
- conditions.ts
- formats.ts
- index.ts
- moves.ts
- rulesets.ts
- scripts.ts
- conditions.ts
- formats.ts
- index.ts
- items.ts
- moves.ts
- rulesets.ts
- scripts.ts
- abilities.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- rulesets.ts
- scripts.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- scripts.ts
- formats-data.ts
- formats.ts
- index.ts
- learnsets.ts
- scripts.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- pokedex.ts
- scripts.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- moves.ts
- pokedex.ts
- scripts.ts
- formats-data.ts
- formats.ts
- index.ts
- learnsets.ts
- moves.ts
- pokedex.ts
- scripts.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- pokedex.ts
- scripts.ts
- abilities.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- moves.ts
- pokedex.ts
- scripts.ts
- abilities.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- moves.ts
- abilities.ts
- formats-data.ts
- formats.ts
- index.ts
- items.ts
- learnsets.ts
- moves.ts
- pokedex.ts
- scripts.ts
- index.test.ts
- index.ts
- eslint.config.mjs
- LICENSE
- package.json
- README.md
- tsconfig.json
- index.ts
- index.test.ts
- index.ts
- eslint.config.mjs
- generate-handler
- LICENSE
- package.json
- protocol-verifier
- README.md
- tsconfig.json
- index.test.ts
- gen1.ts
- gen2.ts
- gen3.ts
- gen4.ts
- gen5.ts
- gen6.ts
- gen7.ts
- gen8.ts
- gen9.ts
- index.ts
- utils.ts
- eslint.config.mjs
- LICENSE
- package.json
- README.md
- tsconfig.json
- team
- teams
- bundle.test.ts
- data.ts
- sets.test.ts
- teams.test.ts
- index.ts
- sets.ts
- teams.ts
- .gitignore
- CHANGELOG.md
- LICENSE
- package.json
- README.md
- tsconfig.json
- formats.ts
- conditions.ts
- formats-data.ts
- index.ts
- moves.ts
- pokedex.ts
- rulesets.ts
- scripts.ts
- typechart.ts
- conditions.ts
- formats-data.ts
- index.ts
- items.ts
- learnsets.ts
- legality.ts
- moves.ts
- pokedex.ts
- rulesets.ts
- scripts.ts
- typechart.ts
- abilities.ts
- conditions.ts
- formats-data.ts
- index.ts
- items.ts
- moves.ts
- rulesets.ts
- scripts.ts
- abilities.ts
- conditions.ts
- formats-data.ts
- index.ts
- items.ts
- moves.ts
- pokedex.ts
- rulesets.ts
- scripts.ts
- abilities.ts
- conditions.ts
- formats-data.ts
- index.ts
- items.ts
- moves.ts
- pokedex.ts
- rulesets.ts
- scripts.ts
- typechart.ts
- abilities.ts
- conditions.ts
- formats-data.ts
- index.ts
- items.ts
- learnsets.ts
- legality.ts
- moves.ts
- pokedex.ts
- scripts.ts
- typechart.ts
- abilities.ts
- formats-data.ts
- index.ts
- items.ts
- moves.ts
- pokedex.ts
- rulesets.ts
- scripts.ts
- abilities.ts
- formats-data.ts
- index.ts
- items.ts
- learnsets.ts
- legality.ts
- moves.ts
- pokedex.ts
- rulesets.ts
- scripts.ts
- typechart.ts
- abilities.ts
- formats-data.ts
- index.ts
- items.ts
- learnsets.ts
- legality.ts
- moves.ts
- pokedex.ts
- scripts.ts
- formats-data.ts
- index.ts
- learnsets.ts
- legality.ts
- scripts.ts
- abilities.ts
- default.ts
- items.ts
- moves.ts
- abilities.ts
- aliases.ts
- conditions.ts
- formats-data.ts
- index.ts
- items.ts
- learnsets.ts
- legality.ts
- moves.ts
- natures.ts
- pokedex.ts
- pokemongo.ts
- rulesets.ts
- scripts.ts
- tags.ts
- typechart.ts
- index.ts
- streams.ts
- utils.ts
- exhaustive-runner.ts
- index.ts
- random-player-ai.ts
- runner.ts
- battle-actions.ts
- battle-queue.ts
- battle-stream.ts
- battle.ts
- dex-abilities.ts
- dex-conditions.ts
- dex-data.ts
- dex-formats.ts
- dex-items.ts
- dex-moves.ts
- dex-species.ts
- dex.ts
- exported-global-types.ts
- field.ts
- global-types.ts
- global-variables.d.ts
- index.ts
- pokemon.ts
- prng.ts
- side.ts
- state.ts
- team-validator.ts
- teams.ts
- all-gens.js
- gen1.js
- gen5.js
- gen6.js
- gen7.js
- gen9.js
- tools.js
- aftermath.js
- angerpoint.js
- arenatrap.js
- asone.js
- battlearmor.js
- berserk.js
- cheekpouch.js
- clearbody.js
- cloudnine.js
- colorchange.js
- comatose.js
- commander.js
- contrary.js
- costar.js
- cudchew.js
- cursedbody.js
- damp.js
- dancer.js
- dazzling.js
- defiant.js
- deltastream.js
- desolateland.js
- disguise.js
- download.js
- dryskin.js
- emergencyexit.js
- fairyaura.js
- flashfire.js
- flowergift.js
- flowerveil.js
- frisk.js
- gluttony.js
- guarddog.js
- gulpmissile.js
- hospitality.js
- hungerswitch.js
- iceface.js
- illusion.js
- immunity.js
- imposter.js
- innardsout.js
- intimidate.js
- intrepidsword.js
- klutz.js
- levitate.js
- lightningrod.js
- liquidooze.js
- magicbounce.js
- magicguard.js
- magician.js
- magnetpull.js
- megasol.js
- mirrorarmor.js
- moxie.js
- multiscale.js
- mummy.js
- myceliummight.js
- naturalcure.js
- neutralizinggas.js
- normalize.js
- opportunist.js
- owntempo.js
- parentalbond.js
- pastelveil.js
- pickpocket.js
- pickup.js
- poisontouch.js
- prankster.js
- pressure.js
- primordialsea.js
- protean.js
- protosynthesis.js
- rattled.js
- receiver.js
- ripen.js
- rockhead.js
- roughskin.js
- sapsipper.js
- screencleaner.js
- serenegrace.js
- shadowtag.js
- sheerforce.js
- shellarmor.js
- shielddust.js
- shieldsdown.js
- simple.js
- slowstart.js
- soulheart.js
- stancechange.js
- steelyspirit.js
- stickyhold.js
- stormdrain.js
- sturdy.js
- suctioncups.js
- swordofruin.js
- symbiosis.js
- synchronize.js
- technician.js
- terashell.js
- thickfat.js
- trace.js
- truant.js
- unaware.js
- unburden.js
- unnerve.js
- victorystar.js
- wanderingspirit.js
- windrider.js
- wonderguard.js
- zenmode.js
- abilityshield.js
- adrenalineorb.js
- assaultvest.js
- boosterenergy.js
- choiceitem.js
- drives.js
- ejectpack.js
- eviolite.js
- flameorb.js
- focussash.js
- griseousorb.js
- heavydutyboots.js
- ironball.js
- jabocaberry.js
- keeberry.js
- lansatberry.js
- leftovers.js
- leppaberry.js
- lifeorb.js
- lumberry.js
- mail.js
- metronome.js
- mirrorherb.js
- plates.js
- protectivepads.js
- punchingglove.js
- quickclaw.js
- redcard.js
- ringtarget.js
- rockyhelmet.js
- roomservice.js
- safetygoggles.js
- seeds.js
- shedshell.js
- shellbell.js
- sitrusberry.js
- weaknesspolicy.js
- whiteherb.js
- accuracy.js
- arceus.js
- ateabilities.js
- confusion.js
- critical.js
- dynamax.js
- endlessbattleclause.js
- faint-order.js
- fainted-forme-regression.js
- fusion-combo.js
- hazards.js
- modded-dex.js
- multi-battle.js
- ogerpon.js
- ohko.js
- overflowstatmod.js
- pledgemoves.js
- prng.js
- recoil.js
- silvally.js
- sleepclausemod.js
- speed.js
- statdownoverflow.js
- state.js
- statusmoves.js
- target-resolution.js
- teampreview.js
- terapagos.js
- terastal.js
- terastellar.js
- trapmoves.js
- turn-order.js
- twoturnmoves.js
- typechange.js
- weather.js
- weight.js
- zmoves.js
- acupressure.js
- afteryou.js
- allyswitch.js
- assist.js
- assurance.js
- aurawheel.js
- batonpass.js
- belch.js
- bellydrum.js
- bide.js
- boomburst.js
- brickbreak.js
- bugbuzz.js
- burningbulwark.js
- burningjealousy.js
- burnup.js
- camouflage.js
- ceaselessedge.js
- charge.js
- chatter.js
- chloroblast.js
- clangoroussoulblaze.js
- clearsmog.js
- conversion2.js
- copycat.js
- courtchange.js
- curse.js
- destinybond.js
- disable.js
- doodle.js
- dragoncheer.js
- dragondarts.js
- echoedvoice.js
- electricterrain.js
- embargo.js
- encore.js
- explosion.js
- fakeout.js
- fellstinger.js
- fling.js
- focuspunch.js
- followme.js
- foresight.js
- furycutter.js
- futuresight.js
- gearup.js
- gigatonhammer.js
- glaiverush.js
- glare.js
- gmaxchistrike.js
- gmaxsteelsurge.js
- gmaxvolcalith.js
- gmaxwildfire.js
- grassyterrain.js
- gravity.js
- haze.js
- healbell.js
- healblock.js
- healingwish.js
- highjumpkick.js
- hydrosteam.js
- hyperbeam.js
- hypervoice.js
- icespinner.js
- imprison.js
- ingrain.js
- instruct.js
- judgment.js
- kingsshield.js
- knockoff.js
- lashout.js
- leechseed.js
- lockon.js
- magicroom.js
- magneticflux.js
- maxguard.js
- mefirst.js
- memento.js
- metalburst.js
- mightycleave.js
- mindblown.js
- miracleeye.js
- mirrormove.js
- mistyterrain.js
- nightmare.js
- noretreat.js
- orderup.js
- painsplit.js
- partingshot.js
- perishsong.js
- photongeyser.js
- pledge.js
- pollenpuff.js
- psyblade.js
- psychicnoise.js
- psychup.js
- pursuit.js
- quash.js
- rage.js
- ragefist.js
- ragepowder.js
- rapidspin.js
- recycle.js
- reflecttype.js
- relicsong.js
- revivalblessing.js
- rollout.js
- roost.js
- round.js
- shedtail.js
- sheercold.js
- shelltrap.js
- skillswap.js
- skydrop.js
- sleeptalk.js
- smellingsalts.js
- snarl.js
- snatch.js
- sparklingaria.js
- spectralthief.js
- spikes.js
- spite.js
- stealthrock.js
- stockpile.js
- stompingtantrum.js
- stoneaxe.js
- struggle.js
- substitute.js
- sunsteelstrike.js
- synchronoise.js
- syrupbomb.js
- tarshot.js
- taunt.js
- teattime.js
- teleport.js
- terablast.js
- terastarstorm.js
- thief.js
- thousandarrows.js
- thrash.js
- thunderwave.js
- toxic.js
- toxicspikes.js
- transform.js
- trick.js
- trickroom.js
- trumpcard.js
- uproar.js
- uturn.js
- weatherball.js
- wish.js
- wonderroom.js
- yawn.js
- endlessbattleclause.js
- overflowstatmod.js
- sleepclausemod.js
- basic.js
- breeding.js
- custom-rules.js
- events.js
- formes.js
- misc.js
- exhaustive-runner.js
- choice-parser.js
- decisions.js
- dex.js
- events.js
- rulesets.js
- assert.js
- common.js
- main.js
- eslint.config.mjs
- LICENSE
- package.json
- README.md
- tsconfig.json
- eslint.config.mjs
- index.ts
- LICENSE
- package.json
- README.md
- tsconfig.json
- CHANGELOG.md
- index.d.ts
- LICENSE
- package.json
- README.md
- tsconfig.json
- pokemon-showdown
- pokemon-showdown-client
- text.json
- choices.test.ts
- formatter.test.ts
- choices.ts
- common.ts
- formatter.ts
- index.ts
- format-battle
- LICENSE
- package.json
- README.md
- tsconfig.json
- .gitignore
- .gitmodules
- .npmrc
- build
- CONTRIBUTING.md
- eslint.config.mjs
- FAQ.md
- import
- LICENSE
- package.json
- publish
- README.md
- tsconfig.json
- tsconfig.test.json
# Installation Guide
1. Get the code
git clone https://github.com/pkmn/ps
Downloads the entire project code from GitHub to your computer.
cd ps
Moves into the project folder you just downloaded.
2. Node.js
Easy RecommendedPrerequisites
cd client
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
// repository documentation
Was this content helpful?
(0 ratings)
