documentation/wings/1.0/migrating.html

101 lines
22 KiB
HTML

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Migrating to Wings | Pterodactyl</title>
<meta name="generator" content="VuePress 1.8.2">
<link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
<link rel="mask-icon" href="/favicons/safari-pinned-tab.svg" color="#0e4688">
<link rel="manifest" href="/favicons/site.webmanifest">
<link rel="shortcut icon" href="/favicons/favicon.ico">
<meta name="description" content="Pterodactyl is an open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.">
<meta name="msapplication-config" content="/favicons/browserconfig.xml">
<meta name="theme-color" content="#0e4688">
<link rel="preload" href="/assets/css/0.styles.b3d0dfa6.css" as="style"><link rel="preload" href="/assets/js/app.ad427fbe.js" as="script"><link rel="preload" href="/assets/js/4.17b22ac2.js" as="script"><link rel="preload" href="/assets/js/1.19e16341.js" as="script"><link rel="preload" href="/assets/js/23.09b11a78.js" as="script"><link rel="prefetch" href="/assets/js/10.cdd4a61d.js"><link rel="prefetch" href="/assets/js/11.edf57bce.js"><link rel="prefetch" href="/assets/js/12.29206997.js"><link rel="prefetch" href="/assets/js/13.bd04c4ec.js"><link rel="prefetch" href="/assets/js/14.d448db4e.js"><link rel="prefetch" href="/assets/js/15.e88515bc.js"><link rel="prefetch" href="/assets/js/16.24317aa9.js"><link rel="prefetch" href="/assets/js/17.99a727ea.js"><link rel="prefetch" href="/assets/js/18.fcb158a9.js"><link rel="prefetch" href="/assets/js/19.a335f151.js"><link rel="prefetch" href="/assets/js/2.21e1a937.js"><link rel="prefetch" href="/assets/js/20.0d86a0bd.js"><link rel="prefetch" href="/assets/js/21.40b46144.js"><link rel="prefetch" href="/assets/js/22.f9353e9f.js"><link rel="prefetch" href="/assets/js/24.3db401dc.js"><link rel="prefetch" href="/assets/js/25.0d90b696.js"><link rel="prefetch" href="/assets/js/26.199e42e5.js"><link rel="prefetch" href="/assets/js/27.53b2955f.js"><link rel="prefetch" href="/assets/js/28.b1cca863.js"><link rel="prefetch" href="/assets/js/29.34880c0e.js"><link rel="prefetch" href="/assets/js/30.6cc47499.js"><link rel="prefetch" href="/assets/js/31.d561e4f4.js"><link rel="prefetch" href="/assets/js/32.5ec9cc12.js"><link rel="prefetch" href="/assets/js/33.48c3e849.js"><link rel="prefetch" href="/assets/js/34.08d0de59.js"><link rel="prefetch" href="/assets/js/35.226da989.js"><link rel="prefetch" href="/assets/js/36.b9c41633.js"><link rel="prefetch" href="/assets/js/37.8e7964de.js"><link rel="prefetch" href="/assets/js/38.ea3ffaf8.js"><link rel="prefetch" href="/assets/js/39.5d85947d.js"><link rel="prefetch" href="/assets/js/40.a78ec0ad.js"><link rel="prefetch" href="/assets/js/41.738df04c.js"><link rel="prefetch" href="/assets/js/42.a8778d05.js"><link rel="prefetch" href="/assets/js/43.25886c53.js"><link rel="prefetch" href="/assets/js/44.1b22667c.js"><link rel="prefetch" href="/assets/js/45.14943dc6.js"><link rel="prefetch" href="/assets/js/46.0fcb43fb.js"><link rel="prefetch" href="/assets/js/47.3af19f15.js"><link rel="prefetch" href="/assets/js/48.b52bf3e1.js"><link rel="prefetch" href="/assets/js/49.8d6a6c8f.js"><link rel="prefetch" href="/assets/js/5.2366f5e0.js"><link rel="prefetch" href="/assets/js/50.e5e4cbbf.js"><link rel="prefetch" href="/assets/js/51.1e3a5853.js"><link rel="prefetch" href="/assets/js/52.5e2e1e53.js"><link rel="prefetch" href="/assets/js/53.aaf29ed5.js"><link rel="prefetch" href="/assets/js/54.5fc704a0.js"><link rel="prefetch" href="/assets/js/55.393a224a.js"><link rel="prefetch" href="/assets/js/56.3a4538a1.js"><link rel="prefetch" href="/assets/js/57.6745899a.js"><link rel="prefetch" href="/assets/js/58.ed936067.js"><link rel="prefetch" href="/assets/js/59.7697fd60.js"><link rel="prefetch" href="/assets/js/6.92501184.js"><link rel="prefetch" href="/assets/js/60.401f2243.js"><link rel="prefetch" href="/assets/js/61.ad708944.js"><link rel="prefetch" href="/assets/js/62.037b9f1e.js"><link rel="prefetch" href="/assets/js/63.bbf85631.js"><link rel="prefetch" href="/assets/js/64.58530ff1.js"><link rel="prefetch" href="/assets/js/65.c4ac4f66.js"><link rel="prefetch" href="/assets/js/66.38ba9f8f.js"><link rel="prefetch" href="/assets/js/67.d3caf7e1.js"><link rel="prefetch" href="/assets/js/68.6351c8cd.js"><link rel="prefetch" href="/assets/js/69.98a6ef85.js"><link rel="prefetch" href="/assets/js/7.c41300e2.js"><link rel="prefetch" href="/assets/js/70.5cc2ec6f.js"><link rel="prefetch" href="/assets/js/71.69398c3c.js"><link rel="prefetch" href="/assets/js/72.aeb7ce36.js"><link rel="prefetch" href="/assets/js/73.757eb6a0.js"><link rel="prefetch" href="/assets/js/74.6cdeb276.js"><link rel="prefetch" href="/assets/js/75.a9fdb850.js"><link rel="prefetch" href="/assets/js/76.4beb770e.js"><link rel="prefetch" href="/assets/js/77.8717480c.js"><link rel="prefetch" href="/assets/js/8.c87d5fba.js"><link rel="prefetch" href="/assets/js/9.28a16f41.js">
<link rel="stylesheet" href="/assets/css/0.styles.b3d0dfa6.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div><div class="fixed h-12 w-full z-50 top-0"><div class="h-12 w-full bg-black flex items-center justify-center px-4"><p class="text-grey-lightest font-semibold">
Stand with Ukraine 🇺🇦 
<a href="https://www.savethechildren.org/us/where-we-work/ukraine" target="_blank" rel="noindex nofollow noopener" class="text-blue-lighter">Donate</a> <a href="https://razomforukraine.org/" target="_blank" rel="noindex nofollow noopener" class="text-blue-lighter">Today.</a></p></div></div> <div class="theme-container mt-12"><header class="nav"><div class="sidebar-button block md:hidden flex-no-shrink"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <div class="logo-container"><a href="/" class="home-link router-link-active"><img src="/logos/pterry.svg" class="logo"> <span class="site-name hidden md:inline can-hide">Pterodactyl</span></a></div> <div class="w-full"><div class="flex"><div class="search-box"><input aria-label="Search" placeholder="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links flex-no-shrink hidden md:flex"><div class="nav-item"><a href="/project/introduction.html" class="nav-link">Documentation
</a></div><div class="nav-item"><a href="/community/about.html" class="nav-link">Community Guides
</a></div><div class="nav-item"><a href="https://discord.gg/pterodactyl" target="_blank" rel="noopener noreferrer" class="nav-link external">
Get Help
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://dashflo.net/docs/api/pterodactyl/v1/" target="_blank" rel="noopener noreferrer" class="nav-link external">
API
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <div class="nav-item"><a href="https://github.com/pterodactyl/panel" target="_blank" rel="noopener noreferrer" class="nav-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div></nav></div></div></header> <div class="sidebar-mask"></div> <div class="sidebar"><nav class="nav-links flex-no-shrink block md:hidden"><div class="nav-item"><a href="/project/introduction.html" class="nav-link">Documentation
</a></div><div class="nav-item"><a href="/community/about.html" class="nav-link">Community Guides
</a></div><div class="nav-item"><a href="https://discord.gg/pterodactyl" target="_blank" rel="noopener noreferrer" class="nav-link external">
Get Help
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://dashflo.net/docs/api/pterodactyl/v1/" target="_blank" rel="noopener noreferrer" class="nav-link external">
API
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <div class="nav-item"><a href="https://github.com/pterodactyl/panel" target="_blank" rel="noopener noreferrer" class="nav-link">
GitHub
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div></nav> <ul class="sidebar-links"><li><div class="sidebar-group first"><p class="sidebar-heading open"><span>Project Information</span> <!----> <!----></p> <ul class="sidebar-group-items"><li><a href="/project/introduction.html" class="sidebar-link">Introduction</a></li><li><a href="/project/about.html" class="sidebar-link">About</a></li><li><a href="/project/terms.html" class="sidebar-link">Terminology</a></li><li><a href="/project/community.html" class="sidebar-link">Community Standards</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Panel</span> <!----> <div tabindex="0" class="version-select custom-select float-right"><div class="selected"><div class="inline-block">
1.11
<span class="rounded-full ml-2 text-green-dark">current</span></div> <span class="arrow"></span></div> <div class="items hidden"><div class="item"><div class="inline-block">
1.11
<span class="rounded-full ml-2 text-green-dark">current</span></div></div></div></div></p> <ul class="sidebar-group-items"><li><a href="/panel/1.0/getting_started.html" class="sidebar-link">Getting Started</a></li><li><a href="/panel/1.0/webserver_configuration.html" class="sidebar-link">Webserver Configuration</a></li><li><a href="/panel/1.0/additional_configuration.html" class="sidebar-link">Additional Configuration</a></li><li><a href="/panel/1.0/updating.html" class="sidebar-link">Updating the Panel</a></li><li><a href="/panel/1.0/troubleshooting.html" class="sidebar-link">Troubleshooting</a></li><li><a href="/panel/1.0/legacy_upgrade.html" class="sidebar-link">Legacy Upgrades</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Wings</span> <!----> <div tabindex="0" class="version-select custom-select float-right"><div class="selected"><div class="inline-block">
1.11
<span class="rounded-full ml-2 text-green-dark">current</span></div> <span class="arrow"></span></div> <div class="items hidden"><div class="item"><div class="inline-block">
1.11
<span class="rounded-full ml-2 text-green-dark">current</span></div></div></div></div></p> <ul class="sidebar-group-items"><li><a href="/wings/1.0/installing.html" class="sidebar-link">Installing Wings</a></li><li><a href="/wings/1.0/upgrading.html" class="sidebar-link">Upgrading Wings</a></li><li><a href="/wings/1.0/migrating.html" aria-current="page" class="active sidebar-link">Migrating to Wings</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/wings/1.0/migrating.html#install-wings" class="sidebar-link">Install Wings</a></li><li class="sidebar-sub-header"><a href="/wings/1.0/migrating.html#copy-new-configuration-file" class="sidebar-link">Copy New Configuration File</a></li><li class="sidebar-sub-header"><a href="/wings/1.0/migrating.html#remove-old-daemon" class="sidebar-link">Remove Old Daemon</a></li><li class="sidebar-sub-header"><a href="/wings/1.0/migrating.html#daemonize-wings" class="sidebar-link">Daemonize Wings</a></li></ul></li><li><a href="/wings/1.0/configuration.html" class="sidebar-link">Additional Configuration</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Tutorials</span> <!----> <!----></p> <ul class="sidebar-group-items"><li><a href="/tutorials/mysql_setup.html" class="sidebar-link">Setting up MySQL</a></li><li><a href="/tutorials/creating_ssl_certificates.html" class="sidebar-link">Creating SSL Certificates</a></li></ul></div></li><li><div class="sidebar-group"><p class="sidebar-heading"><span>Guides</span> <!----> <!----></p> <ul class="sidebar-group-items"><li><a href="/guides/mounts.html" class="sidebar-link">Using Mounts</a></li></ul></div></li></ul> </div> <div class="page"> <div class="content content__default"><h1 id="migrating-to-wings"><a href="#migrating-to-wings" class="header-anchor">#</a> Migrating to Wings</h1> <p>This guide is for people looking to migrate from the old Node.JS daemon to Wings. Please see the
<a href="/wings/1.0/installing.html">install guide</a> if you are trying to install Wings for the first time on
a new node.</p> <div class="custom-block danger"><p class="custom-block-title">Panel Version Requirement</p> <p>You <strong>must</strong> be running Pterodactyl Panel 1.X in order to use Wings.</p></div> <p>You'll have a brief offline period as you perform this process, however no running game processes
will be affected. Plus, chances are your Panel will be offline (or in maintenance mode) during this
so your users should not notice anything out of the ordinary.</p> <h2 id="install-wings"><a href="#install-wings" class="header-anchor">#</a> Install Wings</h2> <p>The first step for installing the daemon is to make sure we have the required directory structure setup. To do so,
run the commands below which will create the base directory and download the wings executable.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">mkdir</span> -p /etc/pterodactyl
<span class="token function">curl</span> -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64
<span class="token function">chmod</span> u+x /usr/local/bin/wings
</code></pre></div><h2 id="copy-new-configuration-file"><a href="#copy-new-configuration-file" class="header-anchor">#</a> Copy New Configuration File</h2> <p>Once you have installed Wings, you'll need to copy over a new configuration file from the Panel. This file
is in a new format, and should be easier for you to manage and edit in the future.</p> <p>Simply copy and paste the code block and paste it into a file called <code>config.yml</code> within the <code>/etc/pterodactyl</code>
directory and save it.</p> <p><img src="/assets/img/wings_configuration_example.9f3fdd0b.png" alt=""></p> <div class="custom-block warning"><p class="custom-block-title">WARNING</p> <p>Please note that any modifications you previously made to the configuration will be lost with this. If you have
modifications to our default settings, the best option is to start Wings once with the copied configuration which
will then populate all of the other configuration settings.</p> <p>From there you can make any adjustments as necessary.</p></div> <h2 id="remove-old-daemon"><a href="#remove-old-daemon" class="header-anchor">#</a> Remove Old Daemon</h2> <p>Now that Wings is installed, we need to remove all of the old daemon code from the server since it is not being
used anymore. To do this, simply execute the following commands — assuming your old daemon is in the default
<code>/srv/daemon</code> directory.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># Stop the old daemon.</span>
systemctl stop wings
<span class="token comment"># Delete the entire directory. There is nothing stored in here that we actually need for the</span>
<span class="token comment"># purposes of this migration. Remember, server data is stored in /srv/daemon-data.</span>
<span class="token function">rm</span> -rf /srv/daemon
<span class="token comment"># Optionally, remove NodeJS from your system if it was not used for anything else.</span>
<span class="token function">apt</span> -y remove nodejs <span class="token comment"># or: yum remove nodejs</span>
</code></pre></div><h3 id="remove-standalone-sftp"><a href="#remove-standalone-sftp" class="header-anchor">#</a> Remove Standalone SFTP</h3> <p>If you've used the <a href="/daemon/0.6/standalone_sftp.html">standalone SFTP server</a> with the old daemon, we need to remove it's systemd service as well, as it's no longer needed.
You can do so using the following commands.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># stop and disable the standalone sftp</span>
systemctl disable --now pterosftp
<span class="token comment"># delete the systemd service</span>
<span class="token function">rm</span> /etc/systemd/system/pterosftp.service
</code></pre></div><h2 id="daemonize-wings"><a href="#daemonize-wings" class="header-anchor">#</a> Daemonize Wings</h2> <p>You'll then need to edit your existing <code>systemd</code> service file for Wings to point to the new control software. To do
this, open <code>/etc/systemd/system/wings.service</code> and replace the entire contents of the file with the following:</p> <div class="language- extra-class"><pre class="language-text"><code>[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=600
[Install]
WantedBy=multi-user.target
</code></pre></div><p>Then, start wings.</p> <div class="language- extra-class"><pre class="language-text"><code>systemctl daemon-reload
systemctl enable --now wings
</code></pre></div><div class="custom-block warning"><p class="custom-block-title">What if Wings doesn't start?</p> <p>If you encounter issues starting Wings at this point, run the following command to start Wings directly and check
for any specific error output.</p> <div class="language- extra-class"><pre class="language-text"><code>sudo wings --debug
</code></pre></div></div></div> <div class="page-edit"><div class="edit-link"><a href="https://github.com/pterodactyl/documentation/edit/master/wings/1.0/migrating.md" target="_blank" rel="noopener noreferrer">Help us improve this page.</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <!----></div> <!----> </div></div></div><div class="global-ui"></div></div>
<script src="/assets/js/app.ad427fbe.js" defer></script><script src="/assets/js/4.17b22ac2.js" defer></script><script src="/assets/js/1.19e16341.js" defer></script><script src="/assets/js/23.09b11a78.js" defer></script>
</body>
</html>