mirror of
https://github.com/pterodactyl/panel.git
synced 2024-11-22 00:52:43 +01:00
Merge branch '1.0-develop' into develop
This commit is contained in:
commit
fe83a4f755
22
CHANGELOG.md
22
CHANGELOG.md
@ -3,6 +3,28 @@ This file is a running track of new features and fixes to each version of the pa
|
|||||||
|
|
||||||
This project follows [Semantic Versioning](http://semver.org) guidelines.
|
This project follows [Semantic Versioning](http://semver.org) guidelines.
|
||||||
|
|
||||||
|
## v1.11.5
|
||||||
|
### Fixed
|
||||||
|
* Rust egg using the wrong Docker image, breaking Rust modding frameworks.
|
||||||
|
|
||||||
|
## v1.11.4
|
||||||
|
### Added
|
||||||
|
* Added support for the `server.queryport` option on the Rust egg.
|
||||||
|
* Added support for the Carbon modding framework to the Rust egg.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
* Upgraded to Laravel 10.
|
||||||
|
* Sensitive data is no longer shown in the CopyOnClick toast notification.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
* Allow SVGs to be edited in the server's file manager.
|
||||||
|
* Properly validate the request body when creating a backup.
|
||||||
|
* Fixed issue with schedules running at the wrong time when the panel utilized a timezone with non-hour offsets (such as `Australia/Darwin`).
|
||||||
|
* Fixes the log directory when running the Panel in a container.
|
||||||
|
* Fixes the permission name used to check if a user has permission to read files/folders.
|
||||||
|
* Fixes the ability to unset a server's description through the client API.
|
||||||
|
* Fixed the MassActionBar on the server's file manager blocking elements below it, preventing them from being interacted with.
|
||||||
|
|
||||||
## v1.11.3
|
## v1.11.3
|
||||||
### Changed
|
### Changed
|
||||||
* When updating a server's description through the client API, if no value is specified, the description will now remain unchanged.
|
* When updating a server's description through the client API, if no value is specified, the description will now remain unchanged.
|
||||||
|
19
README.md
19
README.md
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# Pterodactyl Panel
|
# Pterodactyl Panel
|
||||||
|
|
||||||
Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security
|
Pterodactyl® is a free, 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
|
in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive
|
||||||
UI to end users.
|
UI to end users.
|
||||||
|
|
||||||
@ -27,17 +27,12 @@ Stop settling for less. Make game servers a first class citizen on your platform
|
|||||||
I would like to extend my sincere thanks to the following sponsors for helping fund Pterodactyl's development.
|
I would like to extend my sincere thanks to the following sponsors for helping fund Pterodactyl's development.
|
||||||
[Interested in becoming a sponsor?](https://github.com/sponsors/matthewpi)
|
[Interested in becoming a sponsor?](https://github.com/sponsors/matthewpi)
|
||||||
|
|
||||||
| Company | About |
|
| Company | About |
|
||||||
|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-----------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| [**WISP**](https://wisp.gg) | Extra features. |
|
| [**Aussie Server Hosts**](https://aussieserverhosts.com/) | No frills Australian Owned and operated High Performance Server hosting for some of the most demanding games serving Australia and New Zealand. |
|
||||||
| [**Aussie Server Hosts**](https://aussieserverhosts.com/) | No frills Australian Owned and operated High Performance Server hosting for some of the most demanding games serving Australia and New Zealand. |
|
| [**BisectHosting**](https://www.bisecthosting.com/) | BisectHosting provides Minecraft, Valheim and other server hosting services with the highest reliability and lightning fast support since 2012. |
|
||||||
| [**WemX**](https://wemx.net/) | WemX helps automate your hosting company or SaaS business by automating billing, user management, authentication, and much more. |
|
| [**MineStrator**](https://minestrator.com/) | Looking for the most highend French hosting company for your minecraft server? More than 24,000 members on our discord trust us. Give us a try! |
|
||||||
| [**BisectHosting**](https://www.bisecthosting.com/) | BisectHosting provides Minecraft, Valheim and other server hosting services with the highest reliability and lightning fast support since 2012. |
|
| [**VibeGAMES**](https://vibegames.net/) | VibeGAMES is a game server provider that specializes in DDOS protection for the games we offer. We have multiple locations in the US, Brazil, France, Germany, Singapore, Australia and South Africa. |
|
||||||
| [**MineStrator**](https://minestrator.com/) | Looking for the most highend French hosting company for your minecraft server? More than 24,000 members on our discord trust us. Give us a try! |
|
|
||||||
| [**VibeGAMES**](https://vibegames.net/) | VibeGAMES is a game server provider that specializes in DDOS protection for the games we offer. We have multiple locations in the US, Brazil, France, Germany, Singapore, Australia and South Africa. |
|
|
||||||
| [**DutchIS**](https://dutchis.net?ref=pterodactyl) | DutchIS provides instant infrastructure such as pay per use VPS hosting. Start your game hosting journey on DutchIS. |
|
|
||||||
| [**Skoali**](https://skoali.com/) | Skoali is a French company that hosts game servers and other types of services (VPS, WEB, Dedicated servers, ...). We also have a free plan for Minecraft and Garry's Mod. |
|
|
||||||
| [**Rabbit Computing**](https://www.rabbitcomputing.com/link.php?id=5) | Rabbit Computing offers powerful VPS servers, highly available game hosting, and fully unlimited web hosting. Use code README for 20% off your first three months! |
|
|
||||||
|
|
||||||
### Supported Games
|
### Supported Games
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
"steam_disk_space"
|
"steam_disk_space"
|
||||||
],
|
],
|
||||||
"docker_images": {
|
"docker_images": {
|
||||||
"quay.io\/pterodactyl\/core:rust": "quay.io\/pterodactyl\/core:rust"
|
"ghcr.io\/pterodactyl\/games:rust": "ghcr.io\/pterodactyl\/games:rust"
|
||||||
},
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.queryport {{QUERY_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.logoimage \\\"{{SERVER_LOGO}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} +app.port {{APP_PORT}} $( [ -z ${MAP_URL} ] && printf %s \"+server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\"\" || printf %s \"+server.levelurl {{MAP_URL}}\" ) {{ADDITIONAL_ARGS}}",
|
"startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.queryport {{QUERY_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.logoimage \\\"{{SERVER_LOGO}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} +app.port {{APP_PORT}} $( [ -z ${MAP_URL} ] && printf %s \"+server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\"\" || printf %s \"+server.levelurl {{MAP_URL}}\" ) {{ADDITIONAL_ARGS}}",
|
||||||
@ -47,7 +47,7 @@
|
|||||||
"default_value": "vanilla",
|
"default_value": "vanilla",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|in:carbon,oxide,vanilla",
|
"rules": "required|in:vanilla,oxide,carbon",
|
||||||
"field_type": "text"
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -222,7 +222,7 @@
|
|||||||
configs
|
configs
|
||||||
coreutils
|
coreutils
|
||||||
mysql80
|
mysql80
|
||||||
nodejs-18_x
|
nodejs_18
|
||||||
nodePackages.pnpm
|
nodePackages.pnpm
|
||||||
php81WithExtensions
|
php81WithExtensions
|
||||||
postgresql_15
|
postgresql_15
|
||||||
|
2
resources/scripts/api/server/types.d.ts
vendored
2
resources/scripts/api/server/types.d.ts
vendored
@ -23,7 +23,7 @@ export interface ServerEggVariable {
|
|||||||
description: string;
|
description: string;
|
||||||
envVariable: string;
|
envVariable: string;
|
||||||
defaultValue: string;
|
defaultValue: string;
|
||||||
serverValue: string;
|
serverValue: string | null;
|
||||||
isEditable: boolean;
|
isEditable: boolean;
|
||||||
rules: string[];
|
rules: string[];
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ import { usePermissions } from '@/plugins/usePermissions';
|
|||||||
import InputSpinner from '@/components/elements/InputSpinner';
|
import InputSpinner from '@/components/elements/InputSpinner';
|
||||||
import Input from '@/components/elements/Input';
|
import Input from '@/components/elements/Input';
|
||||||
import Switch from '@/components/elements/Switch';
|
import Switch from '@/components/elements/Switch';
|
||||||
import tw from 'twin.macro';
|
|
||||||
import { debounce } from 'debounce';
|
import { debounce } from 'debounce';
|
||||||
import updateStartupVariable from '@/api/server/updateStartupVariable';
|
import updateStartupVariable from '@/api/server/updateStartupVariable';
|
||||||
import useFlash from '@/plugins/useFlash';
|
import useFlash from '@/plugins/useFlash';
|
||||||
@ -61,15 +60,15 @@ const VariableBox = ({ variable }: Props) => {
|
|||||||
return (
|
return (
|
||||||
<TitledGreyBox
|
<TitledGreyBox
|
||||||
title={
|
title={
|
||||||
<p css={tw`text-sm uppercase`}>
|
<p className="text-sm uppercase">
|
||||||
{!variable.isEditable && (
|
{!variable.isEditable && (
|
||||||
<span css={tw`bg-neutral-700 text-xs py-1 px-2 rounded-full mr-2 mb-1`}>Read Only</span>
|
<span className="bg-neutral-700 text-xs py-1 px-2 rounded-full mr-2 mb-1">Read Only</span>
|
||||||
)}
|
)}
|
||||||
{variable.name}
|
{variable.name}
|
||||||
</p>
|
</p>
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<FlashMessageRender byKey={FLASH_KEY} css={tw`mb-2 md:mb-4`} />
|
<FlashMessageRender byKey={FLASH_KEY} className="mb-2 md:mb-4" />
|
||||||
<InputSpinner visible={loading}>
|
<InputSpinner visible={loading}>
|
||||||
{useSwitch ? (
|
{useSwitch ? (
|
||||||
<>
|
<>
|
||||||
@ -97,7 +96,7 @@ const VariableBox = ({ variable }: Props) => {
|
|||||||
<Select
|
<Select
|
||||||
onChange={e => setVariableValue(e.target.value)}
|
onChange={e => setVariableValue(e.target.value)}
|
||||||
name={variable.envVariable}
|
name={variable.envVariable}
|
||||||
defaultValue={variable.serverValue}
|
defaultValue={variable.serverValue ?? variable.defaultValue}
|
||||||
disabled={!canEdit || !variable.isEditable}
|
disabled={!canEdit || !variable.isEditable}
|
||||||
>
|
>
|
||||||
{selectValues.map(selectValue => (
|
{selectValues.map(selectValue => (
|
||||||
@ -120,7 +119,7 @@ const VariableBox = ({ variable }: Props) => {
|
|||||||
}}
|
}}
|
||||||
readOnly={!canEdit || !variable.isEditable}
|
readOnly={!canEdit || !variable.isEditable}
|
||||||
name={variable.envVariable}
|
name={variable.envVariable}
|
||||||
defaultValue={variable.serverValue}
|
defaultValue={variable.serverValue ?? ''}
|
||||||
placeholder={variable.defaultValue}
|
placeholder={variable.defaultValue}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
@ -128,7 +127,10 @@ const VariableBox = ({ variable }: Props) => {
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</InputSpinner>
|
</InputSpinner>
|
||||||
<p css={tw`mt-1 text-xs text-neutral-300`}>{variable.description}</p>
|
|
||||||
|
<p className="mt-1 text-xs text-neutral-300">
|
||||||
|
{variable.description}
|
||||||
|
</p>
|
||||||
</TitledGreyBox>
|
</TitledGreyBox>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user