> ## Documentation Index
> Fetch the complete documentation index at: https://help.freakhosting.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Configure Startup Variables

> Learn how to view and edit startup variables on the FREAKHOSTING Game Panel to customize your game server's launch behavior, ports, memory, and Docker image.

## Customize How Your Server Starts

Every game server has a set of variables that control how it launches — things like which ports to use, how much memory to allocate, which server version to run, and other game-specific settings. The FREAKHOSTING Game Panel lets you view and edit these **startup variables** so you can fine-tune your server without digging through config files manually.

You will find startup variables under **Configuration > Startup** in your server's sidebar. The page is divided into a few clear sections:

* **Startup Command** — A read-only field at the top showing the exact command used to launch your server (for example, `./update.sh`). You cannot edit this directly — it is generated from your variables and egg configuration.
* **Docker Image** — A greyed-out field showing the container image your server runs inside (for example, `quay.io/parkervcp/pterodactyl-images:base_debian`). This is set by FREAKHOSTING and typically cannot be changed by users.
* **Variables** — Below those two fields, you will see a list of editable variables. Each one has a **label**, an **input field** with the current value, and a **description** explaining what it does.

<CardGroup cols={2}>
  <Card title="Difficulty" icon="gauge">
    Intermediate
  </Card>

  <Card title="Time" icon="clock">
    5 Minutes
  </Card>
</CardGroup>

***

## Understanding the Startup Command

The **Startup Command** field at the top of the page shows you the full command that the panel executes when your server starts. This might look something like:

* `./update.sh` for a TeamSpeak server
* `java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server.jar` for a Minecraft server
* `./srcds_run -game csgo` for a CS:GO server

The `{{VARIABLE_NAME}}` placeholders get replaced with your actual variable values at launch time. You cannot edit the startup command directly — it is defined by the server's **egg** (the template FREAKHOSTING uses to configure your game type). If you need the startup command changed, contact support.

<Info>
  The startup command is read-only for a good reason. Changing it incorrectly could prevent your server from starting at all. The panel protects you from accidental misconfiguration here.
</Info>

***

## Understanding Docker Images

The **Docker Image** field shows which container image your server runs inside. For a TeamSpeak server, you might see something like `quay.io/parkervcp/pterodactyl-images:base_debian`. For a Minecraft server, it could be a Java-based image.

Docker images are pre-configured environments that include all the software your game server needs to run — the right version of Java, the correct system libraries, and so on. This field is typically greyed out and managed by FREAKHOSTING.

<Warning>
  Do not attempt to change the Docker image unless you have been specifically instructed to do so by FREAKHOSTING support. Using the wrong image can prevent your server from starting or cause unexpected behavior.
</Warning>

***

## Viewing and Editing Startup Variables

The real power of this page lives in the **Variables** section. Here is how to work with them.

<Steps>
  <Step title="Open the Startup Page">
    In your server's sidebar, navigate to **Configuration > Startup**. Scroll down past the Startup Command and Docker Image fields to reach the Variables section.
  </Step>

  <Step title="Review Your Variables">
    Each variable is displayed as a card with three parts:

    * **Label** — The variable name (like "FILETRANSFER PORT" or "SERVER VERSION").
    * **Input field** — The current value, which you can edit.
    * **Description** — A brief explanation of what the variable controls (like "TCP Port for file transfers" or "You can set your teamspeak server to a static version using this variable").

    Read the description carefully before changing anything — it tells you exactly what the variable does and what values are acceptable.
  </Step>

  <Step title="Edit a Variable">
    Click into the input field for the variable you want to change and type the new value. The field will accept the value immediately.

    <Tip>
      Some variables have default values that work perfectly for most users. If you are not sure what a variable does, it is usually best to leave it at the default. Only change variables when you have a specific reason to.
    </Tip>
  </Step>

  <Step title="Save Your Changes">
    After editing one or more variables, click the save button to apply your changes. The new values will be used the next time your server starts.
  </Step>

  <Step title="Restart Your Server">
    Most startup variable changes only take effect when the server starts up. After saving, **restart your server** from the console page to apply the new configuration.

    <Info>
      Changing a variable does not automatically restart your server. You need to manually restart it (or wait for your next scheduled restart) for the changes to take effect.
    </Info>
  </Step>
</Steps>

***

## Common Variables by Game Type

Different games expose different variables. Here are some real examples to give you a sense of what you will find:

<AccordionGroup>
  <Accordion title="TeamSpeak Server Variables">
    A TeamSpeak server typically shows these variables on the Startup page:

    | Variable            | Default             | Description                                                               |
    | ------------------- | ------------------- | ------------------------------------------------------------------------- |
    | FILETRANSFER PORT   | 30033               | TCP Port for file transfers                                               |
    | QUERY PORT          | 10011               | TCP Port for Server Query                                                 |
    | LOG QUERY COMMANDS? | 0                   | Log server query commands for audit reasons                               |
    | QUERY SSH PORT      | 10022               | TCP Port for SSH Server Query                                             |
    | QUERY PROTOCOLS     | raw,ssh             | Server Query protocols                                                    |
    | QUERY SSH KEY       | ssh\_host\_rsa\_key | Path to SSH key for SSH Server Query                                      |
    | QUERY TIMEOUT       | 300                 | Timeout for Server Query Connections                                      |
    | SERVER VERSION      | *(empty)*           | You can set your TeamSpeak server to a static version using this variable |

    **Example:** To change the query port from the default 10011 to 10012, edit the QUERY PORT field and type `10012`, then save and restart.

    **Example:** To lock your TeamSpeak server to a specific version instead of auto-updating, enter the version number in the SERVER VERSION field (like `3.13.7`). Leave it empty to always use the latest version.
  </Accordion>

  <Accordion title="Minecraft Server Variables">
    Minecraft servers commonly expose variables like:

    | Variable          | Example Value       | What It Controls                       |
    | ----------------- | ------------------- | -------------------------------------- |
    | SERVER JAR FILE   | server.jar          | The main server JAR file to launch     |
    | MINECRAFT VERSION | latest              | Which Minecraft version to install     |
    | SERVER MEMORY     | *(from allocation)* | Maximum RAM allocation in MB           |
    | BUILD NUMBER      | latest              | For modded servers, which build to use |

    **Example:** To change your Minecraft server's RAM allocation, look for the memory-related variable. If the startup command includes `{{SERVER_MEMORY}}`, this value is pulled from your server's resource allocation set by FREAKHOSTING. To increase it, you would need to upgrade your plan. However, some eggs allow you to set a specific value in the variables.

    **Example:** To pin your server to Minecraft version 1.20.4 instead of "latest," change the MINECRAFT VERSION variable to `1.20.4`, save, and restart.
  </Accordion>

  <Accordion title="Source Engine Servers (CS:GO, Garry's Mod, etc.)">
    Source engine games often expose:

    | Variable    | Example Value | What It Controls     |
    | ----------- | ------------- | -------------------- |
    | GAME MODE   | competitive   | Server game mode     |
    | MAP         | de\_dust2     | Default starting map |
    | MAX PLAYERS | 24            | Maximum player slots |
    | TICKRATE    | 64            | Server tick rate     |

    **Example:** To change your CS:GO server's default map to Mirage, edit the MAP variable to `de_mirage`, save, and restart.
  </Accordion>
</AccordionGroup>

***

## Which Variables Are Safe to Change?

Not all variables are created equal. Here is a general guide:

<CardGroup cols={2}>
  <Card title="Generally Safe" icon="circle-check">
    * Server version or build number
    * Default map or game mode
    * Server name or MOTD
    * Query timeout values
    * Logging toggles (like LOG QUERY COMMANDS)
    * Empty optional fields (like SERVER VERSION for TeamSpeak)
  </Card>

  <Card title="Change with Caution" icon="triangle-exclamation">
    * Port numbers (must match your allocated ports or the server will not be reachable)
    * Protocol settings (like QUERY PROTOCOLS)
    * SSH key paths
    * JAR file names (must match the actual file on disk)
    * Memory values (if editable — often tied to your plan allocation)
  </Card>
</CardGroup>

<Warning>
  **Never change port variables to random values.** Your server is allocated specific ports by FREAKHOSTING. If you change a port variable to a port that is not allocated to your server, the service will not be accessible. If you are unsure which ports are available to you, check your server's **Network** allocation page or contact support.
</Warning>

***

## Troubleshooting Variable Changes

<AccordionGroup>
  <Accordion title="I changed a variable and now my server will not start">
    Revert the variable to its previous value (or the default) and restart. If you do not remember the original value, check the variable's description for the default, or contact support to have it reset. The most common cause is an incorrect port number or an invalid version string.
  </Accordion>

  <Accordion title="A variable field is greyed out and I cannot edit it">
    Some variables are locked by the server's egg configuration or by FREAKHOSTING. These are typically variables that should not be changed by users — like the Docker image or certain system-level paths. If you believe you need to change a locked variable, contact support.
  </Accordion>

  <Accordion title="My changes do not seem to take effect">
    Startup variables only apply when the server starts. Make sure you **saved** your changes and then **restarted** (not just stopped and started) the server. If the variable still has no effect, it may be overridden by an in-game config file that takes priority after launch.
  </Accordion>

  <Accordion title="I do not see the variable I need">
    The variables shown on the Startup page are defined by your server's egg (game template). Not every possible configuration option is exposed as a startup variable. For settings not listed here, check the server's config files through the **File Manager** instead.
  </Accordion>

  <Accordion title="Can I add custom startup variables?">
    No. The available variables are determined by the server egg configured by FREAKHOSTING. You cannot add new variables yourself. If you need a variable that is not available, contact support to discuss your requirements — it may be possible to update the egg configuration.
  </Accordion>
</AccordionGroup>

***

## A Quick Summary

Here is the key takeaway for working with startup variables:

1. **Read the description** of every variable before you change it.
2. **Only change what you understand** — if you are not sure what a variable does, leave it alone.
3. **Save and restart** — variable changes require a server restart to take effect.
4. **Ports must match your allocation** — do not set ports to values that are not assigned to your server.
5. **When in doubt, ask support** — FREAKHOSTING support can help you configure variables correctly for your specific setup.

<Tip>
  If you are migrating settings from another host, the Startup page is the first place to check. Many common configuration options (ports, versions, game modes) are controlled through these variables rather than through config files.
</Tip>

***

<Note>
  ### Need Extra Help?

  If you encounter any issues, our support team is ready to assist:

  * **Live Chat:** Quick assistance via our website.
  * **Support Ticket:** [Open a Ticket](https://freakhosting.com/clientarea/submitticket.php)
  * **Discord:** [Join our Community](https://discord.gg/freakhosting)
  * **Email:** [support@freakhosting.com](mailto:support@freakhosting.com)
</Note>

<Tip>
  ### Save on Your Hosting

  Ready to spin up a new game server? Use code **KB20** at checkout for **20% off** your first month!
</Tip>

***

<div align="center">
  **Last Updated:** March 2026 | **Game Panel Support:** Startup configuration demystified.
</div>
