Splamy / TS3AudioBot

Advanced Musicbot for Teamspeak 3
https://splamy.de/TSAudioBot/Home
Open Software License 3.0
666 stars 135 forks source link

Pterodactyl Support #881

Closed adrijanb closed 3 years ago

adrijanb commented 3 years ago

Hello dear Splamy,

I am currently working on an integration of the TS3AudioBot for Pterodactyl, the open source game server interface. Unfortunately I run into the following problem:

Since the TS3AudioBot is Docker based, it logically has no access to the files on the host system, but only in its isolation. So I can't get him to find the Libary for Libopus. Maybe you could help me fix this problem!

Following output is generated:

:/home/container$ dotnet TS3AudioBot.dll
18:42:16.3751|ERROR|| Failed to load library "libopus".
18:42:16.4264|ERROR|| Couldn't find libopus. Make sure it is installed or placed in the correct folder.
container@pterodactyl~ Server marked as offline...

The "servers" internal files are stored in /mnt/server, so the TS3AudioBot.dll would be in /mnt/server/TS3AudioBot.dll

adrijanb commented 3 years ago
.
├── BouncyCastle.Crypto.dll
├── Chaos.NaCl.dll
├── Heijden.Dns.Portable.dll
├── lib
│   ├── x64
│   │   └── libopus.dll
│   └── x86
│       └── libopus.dll
├── LiteDB.dll
├── Microsoft.AspNetCore.Connections.Abstractions.dll
├── Microsoft.AspNetCore.Cors.dll
├── Microsoft.AspNetCore.Hosting.Abstractions.dll
├── Microsoft.AspNetCore.Hosting.dll
├── Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
├── Microsoft.AspNetCore.Http.Abstractions.dll
├── Microsoft.AspNetCore.Http.dll
├── Microsoft.AspNetCore.Http.Extensions.dll
├── Microsoft.AspNetCore.Http.Features.dll
├── Microsoft.AspNetCore.Server.Kestrel.Core.dll
├── Microsoft.AspNetCore.Server.Kestrel.dll
├── Microsoft.AspNetCore.Server.Kestrel.Https.dll
├── Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions.dll
├── Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll
├── Microsoft.AspNetCore.StaticFiles.dll
├── Microsoft.AspNetCore.WebUtilities.dll
├── Microsoft.CodeAnalysis.CSharp.dll
├── Microsoft.CodeAnalysis.dll
├── Microsoft.Extensions.Configuration.Abstractions.dll
├── Microsoft.Extensions.Configuration.Binder.dll
├── Microsoft.Extensions.Configuration.dll
├── Microsoft.Extensions.Configuration.EnvironmentVariables.dll
├── Microsoft.Extensions.Configuration.FileExtensions.dll
├── Microsoft.Extensions.DependencyInjection.Abstractions.dll
├── Microsoft.Extensions.DependencyInjection.dll
├── Microsoft.Extensions.FileProviders.Abstractions.dll
├── Microsoft.Extensions.FileProviders.Physical.dll
├── Microsoft.Extensions.FileSystemGlobbing.dll
├── Microsoft.Extensions.Hosting.Abstractions.dll
├── Microsoft.Extensions.Logging.Abstractions.dll
├── Microsoft.Extensions.Logging.dll
├── Microsoft.Extensions.ObjectPool.dll
├── Microsoft.Extensions.Options.dll
├── Microsoft.Extensions.Primitives.dll
├── Microsoft.Extensions.WebEncoders.dll
├── Microsoft.Net.Http.Headers.dll
├── Nett.dll
├── Newtonsoft.Json.dll
├── NLog.config
├── NLog.dll
├── PlaylistsNET.dll
├── SixLabors.Core.dll
├── SixLabors.ImageSharp.dll
├── System.IO.Pipelines.dll
├── tree.txt
├── TS3AudioBot.deps.json
├── TS3AudioBot.dll
├── TS3AudioBot.dll.config
├── TS3AudioBot.exe
├── ts3audiobot.log
├── TS3AudioBot.pdb
├── TS3AudioBot.runtimeconfig.json
├── TSLib.dll
├── TSLib.pdb
└── WebInterface
    ├── bundle.js
    ├── favicon.ico
    ├── index.html
    ├── node_modules
    │   └── @mdi
    │       └── font
    │           └── fonts
    │               ├── materialdesignicons-webfont.eot
    │               ├── materialdesignicons-webfont.ttf
    │               ├── materialdesignicons-webfont.woff
    │               └── materialdesignicons-webfont.woff2
    └── openapi
        ├── favicon-16x16.png
        ├── favicon-32x32.png
        ├── index.html
        ├── oauth2-redirect.html
        ├── swagger-ui-bundle.js
        ├── swagger-ui-bundle.js.map
        ├── swagger-ui.css
        ├── swagger-ui.css.map
        ├── swagger-ui.js
        ├── swagger-ui.js.map
        ├── swagger-ui-standalone-preset.js
        └── swagger-ui-standalone-preset.js.map

9 directories, 79 files
Flakebi commented 3 years ago

You should install opus in the docker container (also don’t forget ffmpeg and other dependencies). This Dockerfile may help: https://github.com/getdrunkonmovies-com/TS3AudioBot_docker/blob/master/Dockerfile

adrijanb commented 3 years ago

The problem with that docker file is following:

If you create an so called "egg" for the pterodactyl installation with that docker file, you are not going to get the /Bots folder, because you cannot run the "-it" parameter (which is needed for the file setup) inside the installation. Therefore it would be amazing to create a config file, where i can determine where the file is located for instance.

Flakebi commented 3 years ago

There is a bots_path config option in ts3audiobot.toml if you mean that?

Flakebi commented 3 years ago

I hope this is solved. If there are still problems, please reopen or create a new issue.