Skip to main content

Uploading Files

There are several ways to get your bot’s code onto your Breeze Hosting server. Choose whichever method works best for your workflow.

Method 1: Pterodactyl File Manager

The built-in file manager is the easiest way to upload files directly from your browser.
1

Open the File Manager

Go to your server on panel.breezehost.xyz and click the Files tab.
2

Upload Files

Click the Upload button in the top-right corner. You can select individual files or multiple files at once.
3

Verify Location

Make sure files land at the root level. If you need to upload into a specific folder, navigate into that folder first before clicking Upload.
Best for: Quick updates, small files, single-file changes. Limitations: The file manager has an upload size limit per file. For larger uploads, use SFTP or the zip method below.

Method 2: Upload & Unarchive a Zip

This is the fastest way to upload an entire project at once. Upload a .zip archive and extract it directly on the server.

Uploading and Extracting

1

Create a Zip Archive

On your local machine, zip your bot’s files. Important: zip the contents of your project folder, not the folder itself. See File Structure for details on why this matters.Windows: Open your project folder, select all files, right-click > Compress to ZIP filemacOS: Open your project folder, select all files, right-click > CompressLinux / terminal:
cd my-bot
zip -r ../my-bot.zip .
2

Upload the Zip

In the Pterodactyl file manager, click Upload and select your .zip file.
3

Unarchive the Zip

Once uploaded, right-click (or click the three dots) on the .zip file and select Unarchive. The panel will extract all files into the current directory.
4

Delete the Zip

After extraction, delete the .zip file from the server — you don’t need it taking up space.
5

Verify File Structure

Check that your main entry file (bot.py, index.js, etc.) is at the root level and not nested inside a subfolder. If it’s nested, see File Structure for how to fix it.
Common mistake: If you zip the folder itself (instead of the contents), you’ll end up with everything inside a subfolder after extraction. Your bot won’t start because the entry file isn’t at root. Always zip from inside the project folder.

Supported Archive Formats

The Pterodactyl panel supports unarchiving:
  • .zip
  • .tar.gz
  • .tar

Replacing Existing Files

When unarchiving, files with the same name will be overwritten. This makes zip uploads a convenient way to push updates — just zip your latest code and unarchive it over the existing files.
If you want a clean slate before re-uploading, select all files in the file manager (except your .env or config file with your bot token) and delete them before unarchiving the new zip.

Method 3: SFTP

SFTP (Secure File Transfer Protocol) gives you a direct connection to your server’s filesystem from your local machine. It’s the most flexible option and works well for larger projects.

Connecting via SFTP

1

Get Your SFTP Credentials

On your server’s page in the Pterodactyl panel, go to Settings. You’ll find your SFTP connection details:
  • Host: The SFTP server address
  • Port: Usually 2022
  • Username: Your panel username + server ID
  • Password: Your panel account password
2

Connect with an SFTP Client

Use an SFTP client to connect. Popular options:
  • FileZilla (Windows / macOS / Linux) — free
  • WinSCP (Windows) — free
  • Cyberduck (macOS / Windows) — free
Enter the host, port, username, and password from the previous step.
3

Upload Your Files

Navigate to the root directory on the remote side and drag your bot files over. Your SFTP client will handle the transfer.
Best for: Large projects, frequent updates, managing many files at once, or when the web upload has size limits.

Which Method Should I Use?

MethodBest ForSpeedEase
File ManagerQuick single-file edits and small uploadsFastEasiest
Zip UploadUploading an entire project at onceFastEasy
SFTPLarge projects, frequent updates, full controlMediumModerate

Tips

  • Don’t upload node_modules/ (JavaScript) — the server installs dependencies from package.json automatically on startup. Uploading node_modules wastes space and can cause compatibility issues.
  • Don’t upload Python virtual environments (venv/, .venv/) — the server installs packages from requirements.txt on startup.
  • Keep your .env safe — if you’re doing a full re-upload, make sure you don’t accidentally overwrite or delete your .env file containing your bot token. Consider backing it up first.
  • Use .gitignore as a guide — anything in your .gitignore probably shouldn’t be uploaded to the server either.