documentation/panel/0.7/troubleshooting.html
2021-08-03 21:47:26 +00:00

100 lines
29 KiB
HTML

<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Troubleshooting | 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 7, 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.b4cb0fef.css" as="style"><link rel="preload" href="/assets/js/app.f09e52bb.js" as="script"><link rel="preload" href="/assets/js/4.6431cc96.js" as="script"><link rel="preload" href="/assets/js/1.d0c981d7.js" as="script"><link rel="preload" href="/assets/js/61.bca7dd5a.js" as="script"><link rel="prefetch" href="/assets/js/10.27cec751.js"><link rel="prefetch" href="/assets/js/11.53217705.js"><link rel="prefetch" href="/assets/js/12.55bef2af.js"><link rel="prefetch" href="/assets/js/13.bd04c4ec.js"><link rel="prefetch" href="/assets/js/14.57b7488c.js"><link rel="prefetch" href="/assets/js/15.a6802091.js"><link rel="prefetch" href="/assets/js/16.f2dea920.js"><link rel="prefetch" href="/assets/js/17.c2840444.js"><link rel="prefetch" href="/assets/js/18.fcb158a9.js"><link rel="prefetch" href="/assets/js/19.308a7ac5.js"><link rel="prefetch" href="/assets/js/2.21e1a937.js"><link rel="prefetch" href="/assets/js/20.b1deab3a.js"><link rel="prefetch" href="/assets/js/21.d6c9c101.js"><link rel="prefetch" href="/assets/js/22.db83ce68.js"><link rel="prefetch" href="/assets/js/23.3a0120cf.js"><link rel="prefetch" href="/assets/js/24.6e894c0a.js"><link rel="prefetch" href="/assets/js/25.5a8ed612.js"><link rel="prefetch" href="/assets/js/26.0b63e77f.js"><link rel="prefetch" href="/assets/js/27.0711df74.js"><link rel="prefetch" href="/assets/js/28.317f71e4.js"><link rel="prefetch" href="/assets/js/29.69216217.js"><link rel="prefetch" href="/assets/js/30.8204ea7c.js"><link rel="prefetch" href="/assets/js/31.e7b25719.js"><link rel="prefetch" href="/assets/js/32.db8f117e.js"><link rel="prefetch" href="/assets/js/33.731812d7.js"><link rel="prefetch" href="/assets/js/34.30f48224.js"><link rel="prefetch" href="/assets/js/35.39990a3a.js"><link rel="prefetch" href="/assets/js/36.8ec9602c.js"><link rel="prefetch" href="/assets/js/37.81b1b06a.js"><link rel="prefetch" href="/assets/js/38.e1f447b2.js"><link rel="prefetch" href="/assets/js/39.d8c67b81.js"><link rel="prefetch" href="/assets/js/40.f8a8112a.js"><link rel="prefetch" href="/assets/js/41.bdff0171.js"><link rel="prefetch" href="/assets/js/42.89114514.js"><link rel="prefetch" href="/assets/js/43.40649380.js"><link rel="prefetch" href="/assets/js/44.ad1ccee8.js"><link rel="prefetch" href="/assets/js/45.e976638f.js"><link rel="prefetch" href="/assets/js/46.8b794c5e.js"><link rel="prefetch" href="/assets/js/47.3dc1dfde.js"><link rel="prefetch" href="/assets/js/48.c14d7ed1.js"><link rel="prefetch" href="/assets/js/49.fc33633a.js"><link rel="prefetch" href="/assets/js/5.73a53d7a.js"><link rel="prefetch" href="/assets/js/50.fb19455f.js"><link rel="prefetch" href="/assets/js/51.786f6418.js"><link rel="prefetch" href="/assets/js/52.24fbb394.js"><link rel="prefetch" href="/assets/js/53.c517ee4e.js"><link rel="prefetch" href="/assets/js/54.11009636.js"><link rel="prefetch" href="/assets/js/55.dac5f93e.js"><link rel="prefetch" href="/assets/js/56.f286a8ea.js"><link rel="prefetch" href="/assets/js/57.4f76cdaf.js"><link rel="prefetch" href="/assets/js/58.78f0d59d.js"><link rel="prefetch" href="/assets/js/59.7681f6ba.js"><link rel="prefetch" href="/assets/js/6.8999fd8a.js"><link rel="prefetch" href="/assets/js/60.cdccfa2a.js"><link rel="prefetch" href="/assets/js/62.0d6c7a24.js"><link rel="prefetch" href="/assets/js/63.318bb69c.js"><link rel="prefetch" href="/assets/js/64.b0806748.js"><link rel="prefetch" href="/assets/js/65.1f7d038c.js"><link rel="prefetch" href="/assets/js/66.ef6f7035.js"><link rel="prefetch" href="/assets/js/67.38d5b57b.js"><link rel="prefetch" href="/assets/js/68.321dd68b.js"><link rel="prefetch" href="/assets/js/69.0a4d59ac.js"><link rel="prefetch" href="/assets/js/7.9f1ce256.js"><link rel="prefetch" href="/assets/js/70.250cb0d9.js"><link rel="prefetch" href="/assets/js/71.5f8c8915.js"><link rel="prefetch" href="/assets/js/72.c1a0015d.js"><link rel="prefetch" href="/assets/js/73.0f242c47.js"><link rel="prefetch" href="/assets/js/74.3dbad093.js"><link rel="prefetch" href="/assets/js/75.b2e7a917.js"><link rel="prefetch" href="/assets/js/76.d94be659.js"><link rel="prefetch" href="/assets/js/77.011164d8.js"><link rel="prefetch" href="/assets/js/78.4e09480d.js"><link rel="prefetch" href="/assets/js/8.4c71898e.js"><link rel="prefetch" href="/assets/js/9.7af626f7.js">
<link rel="stylesheet" href="/assets/css/0.styles.b4cb0fef.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><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">
Contribute
<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">
Contribute
<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.5
<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.5
<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.4
<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.4
<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" class="sidebar-link">Migrating to Wings</a></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><li><div class="sidebar-group collapsable"><p class="sidebar-heading"><span>Development &amp; Ops</span> <span class="arrow right"></span> <!----></p> <!----></div></li></ul> </div> <div class="page"> <div class="content content__default"><h1 id="troubleshooting"><a href="#troubleshooting" class="header-anchor">#</a> Troubleshooting</h1> <p></p><div class="table-of-contents"><ul><li><a href="#reading-error-logs">Reading Error Logs</a><ul><li><a href="#parsing-the-error">Parsing the Error</a></li><li><a href="#understanding-the-error">Understanding the Error</a></li><li><a href="#utilizing-grep">Utilizing GREP</a></li></ul></li><li><a href="#transfer-exceptions-xhr-poll-error">Transfer Exceptions / XHR Poll Error</a><ul><li><a href="#example-errors">Example Errors</a></li><li><a href="#basic-debugging-steps">Basic Debugging Steps</a></li><li><a href="#more-advanced-debugging-steps">More Advanced Debugging Steps</a></li></ul></li><li><a href="#invalid-mac-exception">Invalid MAC Exception</a></li><li><a href="#selinux-issues">SELinux Issues</a><ul><li><a href="#redis-permissions-errors">Redis Permissions Errors</a></li><li><a href="#in-case-there-is-any-weirdness-with-parts-of-the-panel">In case there is any weirdness with parts of the panel</a></li><li><a href="#daemon-connection-errors">Daemon Connection Errors</a></li></ul></li><li><a href="#firewalld-issues">FirewallD issues</a></li><li><a href="#database-errors">Database Errors</a><ul><li><a href="#databasecontroller-php-142">DatabaseController.php:142</a></li></ul></li></ul></div><p></p> <h2 id="reading-error-logs"><a href="#reading-error-logs" class="header-anchor">#</a> Reading Error Logs</h2> <p>If you ever encounter an unexpected error with the Panel the first thing you will likely be asked for is the logs.
To retrieve these, simply execute the command below which will output the last 100 lines of the Panel's log file.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">tail</span> -n <span class="token number">100</span> /var/www/pterodactyl/storage/logs/laravel-<span class="token variable"><span class="token variable">$(</span><span class="token function">date</span> +%F<span class="token variable">)</span></span>.log
</code></pre></div><h3 id="parsing-the-error"><a href="#parsing-the-error" class="header-anchor">#</a> Parsing the Error</h3> <p>When you run the command above, you'll probably be hit with a huge wall of text that might scare you. Fear not,
this is simply a stacktrace leading to the cause of the error, and you can actually ignore almost all of it when
looking for the cause of the error. Lets take a look at some example output below, which has been truncated to
make this easier to follow with.</p> <div class="language- extra-class"><pre class="language-text"><code>#70 /srv/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel-&gt;sendRequestThroughRouter(Object(Illuminate\Http\Request))
#71 /srv/www/public/index.php(53): Illuminate\Foundation\Http\Kernel-&gt;handle(Object(Illuminate\Http\Request))
#72 {main}
[2018-07-19 00:50:24] local.ERROR: ErrorException: file_put_contents(/srv/www/storage/framework/views/c9c05d1357df1ce4ec8fc5df78c16c493b0d4f48.php): failed to open stream: Permission denied in /srv/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122
Stack trace:
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions-&gt;handleError(2, 'file_put_conten...', '/srv/www/vendor...', 122, Array)
#1 /srv/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/srv/www/storag...', '&lt;?php $__env-&gt;s...', 0)
#2 /srv/www/vendor/laravel/framework/src/Illuminate/View/Compilers/BladeCompiler.php(122): Illuminate\Filesystem\Filesystem-&gt;put('/srv/www/storag...', '&lt;?php $__env-&gt;s...')
#3 /srv/www/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(51): Illuminate\View\Compilers\BladeCompiler-&gt;compile('/srv/www/resour...')
#4 /srv/www/vendor/laravel/framework/src/Illuminate/View/View.php(142): Illuminate\View\Engines\CompilerEngine-&gt;get('/srv/www/resour...', Array)
#5 /srv/www/vendor/laravel/framework/src/Illuminate/View/View.php(125): Illuminate\View\View-&gt;getContents()
</code></pre></div><p>The first thing you'll want to do is follow the chain of numbers <em>up</em> until you find <code>#0</code>, this will be the function that
triggered the exception. Right above line 0 you will see a line that has the date and time in brackets, <code>[2018-07-19 00:50:24]</code>
above for example. This line will be the human readable exception that you can use to understand what went wrong.</p> <h3 id="understanding-the-error"><a href="#understanding-the-error" class="header-anchor">#</a> Understanding the Error</h3> <p>In the example above we can see that the actual error was:</p> <div class="language- extra-class"><pre class="language-text"><code>local.ERROR: ErrorException: file_put_contents(...): failed to open stream: Permission denied in /srv/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122
</code></pre></div><p>From this error we can determine that there was an error performing a <a href="http://php.net/manual/en/function.file-put-contents.php" target="_blank" rel="noopener noreferrer">file_put_contents()<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> call, and the error was
that we couldn't open the file because permissions were denied. Its okay if you don't understand the error at all, but
it does help you get faster support if you're able to provide these logs, and at least find the source of the error.
Sometimes the errors are pretty straightforward and will tell you exactly what went wrong, such as a <code>ConnectionException</code>
being thrown when the Panel can't connect to the Daemon.</p> <h3 id="utilizing-grep"><a href="#utilizing-grep" class="header-anchor">#</a> Utilizing GREP</h3> <p>If you're trying to go through a bunch of errors quickly, you can use the command below which will limit the results returned to only
be the actual error lines, without all of the stack traces.</p> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token function">tail</span> -n <span class="token number">1000</span> /var/www/pterodactyl/storage/logs/laravel-<span class="token variable"><span class="token variable">$(</span><span class="token function">date</span> +%F<span class="token variable">)</span></span>.log <span class="token operator">|</span> <span class="token function">grep</span> <span class="token string">&quot;\[<span class="token variable"><span class="token variable">$(</span><span class="token function">date</span> +%Y<span class="token variable">)</span></span>&quot;</span>
</code></pre></div><h2 id="transfer-exceptions-xhr-poll-error"><a href="#transfer-exceptions-xhr-poll-error" class="header-anchor">#</a> Transfer Exceptions / XHR Poll Error</h2> <p>If you are seeing errors similar to the examples below, chances are there is some networking related issue, or you
just don't have a required service running.</p> <h3 id="example-errors"><a href="#example-errors" class="header-anchor">#</a> Example Errors</h3> <ul><li><p>&quot;We were unable to connect to the main Socket.IO server, there may be network issues currently. The panel may not work as expected.&quot;</p></li> <li><p>&quot;A TransferException was encountered while trying to contact the daemon, please ensure it's online and accessible. This error has been logged.&quot;</p></li></ul> <h3 id="basic-debugging-steps"><a href="#basic-debugging-steps" class="header-anchor">#</a> Basic Debugging Steps</h3> <ul><li><p>Ensure you have AdBlock disabled or whitelisted for your Panel and Daemon domains.</p></li> <li><p>Check your browser's console by pressing <code>Ctrl + Shift + J</code> (in Chrome) or <code>Cmd + Alt + I</code> (in Safari). If there is
a red error in it, chances are that it will narrow down the potential problem.</p></li> <li><p>Make sure if the daemon is properly installed and the active configuration matches the configuration shown under
<code>Admin -&gt; Node -&gt; Configuration</code> in the Panel.</p></li> <li><p>Check that the Daemon is running, and not reporting errors. Use <code>service wings status</code> to check the current status of the process.</p></li> <li><p>Check that the Daemon ports are open on your firewall. The Daemon uses ports <code>8080</code> or <code>8443</code> for HTTP traffic,
and <code>2022</code> for SFTP traffic.</p></li> <li><p>Check that the Panel can reach the Daemon using the domain that is configured on the Panel. Run <code>curl https://domain.com:8080</code> on the Panel server and ensure that it can connect to the Daemon.</p></li> <li><p>Ensure that you are using the correct HTTP scheme for your Panel and Daemon. If the Panel is running over HTTPS
the Daemon will also need to be running on HTTPS.</p></li></ul> <h3 id="more-advanced-debugging-steps"><a href="#more-advanced-debugging-steps" class="header-anchor">#</a> More Advanced Debugging Steps</h3> <ul><li><p>Stop the Daemon and run <code>cd /srv/daemon; sudo npm start</code> to see if there are any errors being output by the Daemon.
If so, try resolving them manually, or contact us on Discord for more assistance.</p></li> <li><p>Check your DNS and ensure that the response you receive is the one you expect using a tool such as <code>nslookup</code> or <code>dig</code>.</p></li> <li><p>If you use CloudFlare make sure that the yellow cloud is disabled for your Daemon or Panel <code>A</code> records.</p></li> <li><p>Make sure when using the daemon behind a firewall — pfSense, OpenSwitch, etc — that the correct NAT settings to access
the Daemon's ports from the outside network are setup.</p></li> <li><p>If nothing is working so far, check your own DNS settings and consider switching DNS servers.</p></li> <li><p>When running the Panel and Daemon on one server it can sometimes help if to add an entry in <code>/etc/hosts</code> that directs
the public IP back to the server. Sometimes the reverse path is also needed, so you may need to add an entry to your
servers <code>/etc/hosts</code> file that points the Panel's domain to the correct IP.</p></li> <li><p>When running the Daemon and Panel on separate VM's using the same adapter make sure the VM's can connect to each
other. Promiscuous mode might be needed.</p></li></ul> <h2 id="invalid-mac-exception"><a href="#invalid-mac-exception" class="header-anchor">#</a> Invalid MAC Exception</h2> <div class="custom-block warning"><p class="custom-block-title">WARNING</p> <p>This error should never happen if you correctly follow our installation and upgrade guides. The only time we have
ever seen this error occur is when you blindly restore the Panel database from a backup and try to use a fresh
installation of the Panel.</p> <p>When restoring backups you should <em>always</em> restore the <code>.env</code> file!</p></div> <p>Sometimes when using the Panel you'll unexpectedly encounter a broken page, and upon checking the logs you'll see
an exception mentioning an invalid MAC when decrypting. This error is caused by mismatched <code>APP_KEY</code>s in your <code>.env</code> file
when the data was encrypted versus decrypted.</p> <p>If you are seeing this error the only solution is to restore the <code>APP_KEY</code> from your <code>.env</code> file. If you have lost that
original key there is no way to recover the lost data.</p> <h2 id="selinux-issues"><a href="#selinux-issues" class="header-anchor">#</a> SELinux Issues</h2> <p>On systems with SELinux installed you might encounter unexpected errors when running redis or attempting to connect
to the daemon to perform actions. These issues can generally be resolved by executing the commands below to allow
these programs to work with SELinux.</p> <h3 id="redis-permissions-errors"><a href="#redis-permissions-errors" class="header-anchor">#</a> Redis Permissions Errors</h3> <div class="language-bash extra-class"><pre class="language-bash"><code>audit2allow -a -M redis_t
semodule -i redis_t.pp
</code></pre></div><h3 id="in-case-there-is-any-weirdness-with-parts-of-the-panel"><a href="#in-case-there-is-any-weirdness-with-parts-of-the-panel" class="header-anchor">#</a> In case there is any weirdness with parts of the panel</h3> <div class="language-bash extra-class"><pre class="language-bash"><code>restorecon -R /var/www/pterodactyl/
</code></pre></div><h3 id="daemon-connection-errors"><a href="#daemon-connection-errors" class="header-anchor">#</a> Daemon Connection Errors</h3> <div class="language-bash extra-class"><pre class="language-bash"><code>audit2allow -a -M http_port_t
semodule -i http_port_t.pp
</code></pre></div><h2 id="firewalld-issues"><a href="#firewalld-issues" class="header-anchor">#</a> FirewallD issues</h2> <p>If you are on a RHEL/CentOS server with firewalld installed you may have broken DNS.</p> <div class="language- extra-class"><pre class="language-text"><code>firewall-cmd --permanent --zone=trusted --change-interface=pterodactyl0
firewall-cmd --reload
</code></pre></div><p>restart docker and wings after running these to be sure the rules are applied.</p> <h2 id="database-errors"><a href="#database-errors" class="header-anchor">#</a> Database Errors</h2> <h3 id="databasecontroller-php-142"><a href="#databasecontroller-php-142" class="header-anchor">#</a> DatabaseController.php:142</h3> <div class="language- extra-class"><pre class="language-text"><code>production.ERROR: ErrorException: Undefined variable: host in /var/www/pterodactyl/app/Http/Controllers/Admin/DatabaseController.php:142
</code></pre></div><p>The database user you are trying to use doesn't have appropriate grants/has used incorrect password.</p></div> <div class="page-edit"><div class="edit-link"><a href="https://github.com/pterodactyl/documentation/edit/master/panel/0.7/troubleshooting.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 class="global-ui"></div></div>
<script src="/assets/js/app.f09e52bb.js" defer></script><script src="/assets/js/4.6431cc96.js" defer></script><script src="/assets/js/1.d0c981d7.js" defer></script><script src="/assets/js/61.bca7dd5a.js" defer></script>
</body>
</html>