Running a PO Server

Berkan Diler edited this page May 27, 2014 · 4 revisions

Guide to running a v2 Pokémon Online Server.

Table of Contents


First download the Pokemon Online program which in recent updates now contains all server needs in the download of the program.

Getting Started

Look for the file called "server.exe" and open it. Make sure to allow connections through your firewall for the program so that users can connect to your server.

Once you have started the server you need to test if you or someone else can connect to it. Set the configuration settings to "Public" which will allow users to connect to your server (see later on). Open a PO Client. Connect to[port] (localhost is an alternative) in Advanced Connection. If your port number is 5080, advance connect to

After that you'll need someone else to connect to the server. Ask them to find your server on the registry. If they can connect, then your server is good to go. If they can't connect, you might have to do other things before you start.

Port Forwarding

If other players can't connect to your server then you may need to port forward. You will need access to your router and you need to know the local IP of the router, which is usually, but may be different depending on what settings your router was set up with.

Make sure to test the both you and another user can connect to the server. If they can, move on to the next step. If not, you can ask at PO's help forum to get further technical assistance.

Basic Settings

The server configuration window, accessed through Options --> Config, allows you to change various server settings.

  • Public/Private: Allows you to control whether the server is public (shown on the registry) or private (hidden on the registry). Normally, set this to Public unless you are performing server maintenance.
  • Server Name: Name of the server on the registry. Needed for a server to display on the registry.
  • Main Channel: Name of the start up channel (the one that users first see). Random if one isn't put in.
  • Server Description: What the user sees on the registry. Can include HTML.
  • Server Announcement: What the user sees at the top when they enter a server. Can include HTML.
  • Max Players: Maximum number of players allowed on the server at any one time.
  • Port Number: Changes the port number that PO uses for connections.
  • Expiry Time: Sets the time that inactive accounts will be deleted after (in days).
  • Safe Scripts: Checking this option prevents the script from changing auth to or from 3 or more. It also blocks the function sys.system() (see Script section below). Use this if you haven't created the scripts yourself and got them from another source, although it's recommended that you should only ever get scripts from trustworthy sources such as the Pokemon Online Scripts.
  • Tray Options: Checking "Minimize to Tray" will allow the server window to move to the system tray when minimized, saving window space. Checking "Show Tray Popup" will give a notification when this happens.
  • Password Options: Checking "Require Password" means that a server password is required to enter. You can set the password in the menu. Not recommended except for testing purposes or private groups.

Managing Players, Ladders and Tiers

Access this window by using Options --> Players.

The list shows all players who have logged on to the server at some point in time. It shows their user name, IP, last login details, authority and registration/banning details.

  • Authority Tab: Allows you to change a user's authority. Can be changed to 0 (user), 1 (mod), 2 (admin) or 3 (owner). A user's authority can also be set above 3 or below 0 by scripts, but you will need to be careful using this.
  • Ban/Unban: Bans/unbans a user and their respective IP.
  • Clear Password: Clears the password with the selected name.


Various ladder options can be changed here, through Options --> Ladder

In this menu you can set various settings that will affect rating decay (a user's rating will get closer to 1000 the longer they don't play). The original rating is stored in the database, so when a user starts playing again, some of the rating decay is removed.

  • Process Ratings on Server Startup: Adjusts all ratings on server startup (recommended). Disable it if it takes a lot of time for the server to start (rating processes can by called by scripts later if needed).


The tiers menu is accessed through Options --> Tiers. It allows you to create basic banlists and tier rules for your server.

  • Add New: Adds a new tier or category. A category is like a folder which stores tiers in a submenu.
  • Parent Category: Puts this tier in a certain category.
  • Parent Tier: If a tier is selected, follows the banlist of that tier, in addition to any further bans provided.
  • Restricted Pokémon: Restricts how many Pokémon that can be used out of a subset of Pokémon specified in Restricted Pokémon.
  • Tier Display: Determines what order the tier/category is displayed in (lower numbers appear at the top).
  • Apply: Applies changes to the tier.
  • Finish and Apply: Applies tier changes to the server. Note that it may take some time to successfully update tiers.
More complex bans (such as the combination of Drizzle and Swift Swim) cannot be made directly through the tiers menu, but can be applied through scripts.


The server supports scripts written in QtScript (similar to JavaScript).

A basic guide to Server-Scripting.

For technical issues with scripts, you can also post on the scripts forum for help.

Other Functions

Anti DoS

These settings prevent spammers from sending excessive commands/material to the server. It also gives you the ability to send over active messages to a specific channel instead of the main channel of your server.

SQL Config

Allows you to export the SQL database so it can be reloaded later.

Other functions should only be used by experienced users.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.