# Pelican

https://docs.wisecp.com/en/pelican

Connect your Pelican panel to sell game servers: a paid order creates the server on the panel, and the customer manages it from their service page in WISECP.

## Accessing the Screen

Open **Products / Services → Servers → Add New Server**. Select **Pelican** under **Server Automation Module**, in the **Game Hosting** group. Address: `{admin}/products/servers-add`.

## Before Connecting

WISECP uses two panel keys. The **Application API** key (`papp_`) creates, suspends, resizes and deletes servers. Create it in the panel's admin area under **API Keys**. Give it read and write access to users and servers, and read access to nodes and eggs.

The **Administrator Client API Key** (`pacc_`) drives the customer's controls. Sign in to the panel as a root administrator and create it under **Account → API Keys**. A key from a plain user only reaches that user's own servers, so the connection test refuses it.

On the panel, prepare a node with free ports and an egg for each game you sell. In WISECP you need an active server record and a priced server product. Each customer receives a panel account under their own e-mail address. An existing account is reused, and its password is never changed.

## Server Record and Product Settings

- **Address**: Required. The panel address without a scheme. The SSL switch selects https and port 443; without it http and port 80. Username and Password stay optional.
- **Access Hash**: Required. The Application API key (papp_).
- **Administrator Client API Key**: Optional, stored encrypted. The root administrator's Client API key (pacc_). When set, every service on this server uses it, nothing signs in to the panel during setup, and the panel's reCAPTCHA can stay on.
- **Game / Egg**: Required. The list is read from the panel when the product's module configuration opens. The egg sets the game image and startup command.
- **Node Tags**: Optional. Comma-separated node tags; the panel picks a node with a matching tag. Leave it empty to let the panel choose. A numeric value is also sent as a location ID for older panels.
- **Memory (MB) · Disk (MB) · CPU Limit (%)**: Defaults 1024, 5120 and 100. Each physical core is 100%; 0 means unlimited.
- **Swap (MB) · Block IO Weight · Disable OOM Killer**: Defaults 0, 500 and off. Swap -1 is unlimited. The killer stops a container that exceeds its memory unless you disable it.
- **Databases · Backups · Allocations**: Defaults 0, 0 and 1. How many databases, backups and ports the customer may use.
- **Docker Image · Startup Command · Port Range · Dedicated IP**: Optional. An empty image or command uses the egg default. Port Range lists ports or ranges separated by commas. Dedicated IP deploys only onto an address with no other allocations.

## Tasks

### Connecting the Server

1. Enter the **Address**, paste the Application API key into **Access Hash** and the root administrator's key into **Administrator Client API Key**.
2. Click **Test Connection**. The test lists the panel's nodes and checks that the client key belongs to a root administrator.
3. Click **Add New Server**; later edits use **Save Changes**. The record appears as active in the server list.

### Preparing the Product

1. In the server product, open **Automation → Module Assignment**, select **Pelican** and the server or server group.
2. Under **Module Configuration** choose the egg, add node tags if needed, then set the limits listed above.
3. To let the customer name the server, add a text requirement and map it to **Server Name** under the requirement's **Module Options**. Without it the product name and service number are used.
4. Click **Save Changes**. A paid order now creates the server on the panel and starts it.

Addons sell extra CPU, memory, disk, databases, backups and allocations. The panel server is resized when the addon becomes active.

### Enabling Controls for Existing Services

Services created before the administrator key existed may hold no panel key. Define the **Administrator Client API Key** on their server record and save. Their controls work on the next page load, without a reinstall.

### Importing Existing Servers

Open the server's **Import** tab and click **List Results** to see each server's **Address**, **Name** and **Server ID**. Choose the client, product and period, then click **Import**.

### Managing the Service

Administrators and customers open **Management → Overview** on the service. The card shows the state (Running, Offline, Starting, Stopping, Installing or Suspended) and the CPU, memory and disk use. It also lists the server name, address, game, node and SFTP details. **Panel Login** takes the customer to their server on the panel; the administrator's **Open Panel** button opens the panel's admin side.

Tools: **Start Server**, **Stop Server**, **Restart Server**, **Kill**, **Console**, **Startup**, **Schedules**, **Activity Log**, **Reinstall**, **File Manager**, **Backups**, **Manage Databases**, **Allocations** and **Subusers**. Start is hidden while the server runs; Stop, Restart and Kill are hidden while it is offline.

Suspending the service suspends the panel server, and cancelling deletes it. Upgrades and addons resize the server. Changing the service password sets a new panel password for the customer's account.

## Points to Watch

> **Data Loss**
> 
> Cancelling a service deletes the game server and its files on the panel. Reinstall wipes the server files, and Kill stops the process without saving.

> **"Server control is unavailable"**
> 
> The service has no panel key. Define the Administrator Client API Key on the server record. Or turn off reCAPTCHA on the panel so a key can be created at setup. The reason is written to the service's module logs under **client-key**.

> **Keep the Administrator Key Private**
> 
> The key reaches every server on the panel. Customers never see it: the console receives a ten-minute token for their own server only, which also shows install and transfer output. In the panel, restrict the key to your WISECP server's IP address under Allowed IPs.

## Required Permissions

Server settings require **MODULES_SERVERS_SETTINGS**, product editing requires **PRODUCTS_OPERATION**, and the Open Panel button requires **MODULES_ROOT_LOGIN_BUTTON**. Client tools follow service access restrictions.

## Related Articles

- [Adding a Server](https://docs.wisecp.com/en/adding-a-server)
- [Product Automation](https://docs.wisecp.com/en/product-automation)
- [Service Management](https://docs.wisecp.com/en/service-management)
- [Pterodactyl](https://docs.wisecp.com/en/pterodactyl)
