Splash some URLs on the console at the end of startup

Maybe this will be useful for people whose first encounter with PM is on a server host.
This commit is contained in:
Dylan K. Taylor
2025-10-07 18:34:20 +01:00
parent 689cc3e4dd
commit 6da3935abc
6 changed files with 76 additions and 10 deletions

View File

@@ -42,7 +42,7 @@
"pocketmine/callback-validator": "^1.0.2", "pocketmine/callback-validator": "^1.0.2",
"pocketmine/color": "^0.3.0", "pocketmine/color": "^0.3.0",
"pocketmine/errorhandler": "^0.7.0", "pocketmine/errorhandler": "^0.7.0",
"pocketmine/locale-data": "~2.25.0", "pocketmine/locale-data": "~2.26.0",
"pocketmine/log": "^0.4.0", "pocketmine/log": "^0.4.0",
"pocketmine/math": "~1.0.0", "pocketmine/math": "~1.0.0",
"pocketmine/nbt": "~1.2.0", "pocketmine/nbt": "~1.2.0",

14
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "85d9a1b0bed8a5b1fff320d396bdeb4f", "content-hash": "ad9a8e8069598ae5ec679f069461623f",
"packages": [ "packages": [
{ {
"name": "adhocore/json-comment", "name": "adhocore/json-comment",
@@ -472,16 +472,16 @@
}, },
{ {
"name": "pocketmine/locale-data", "name": "pocketmine/locale-data",
"version": "2.25.2", "version": "2.26.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/pmmp/Language.git", "url": "https://github.com/pmmp/Language.git",
"reference": "44727765ad43df5e2e24a54ae70a70607ec7d488" "reference": "f791369ae082fc5cdf0f2b0bd683e611ff7f90f6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/pmmp/Language/zipball/44727765ad43df5e2e24a54ae70a70607ec7d488", "url": "https://api.github.com/repos/pmmp/Language/zipball/f791369ae082fc5cdf0f2b0bd683e611ff7f90f6",
"reference": "44727765ad43df5e2e24a54ae70a70607ec7d488", "reference": "f791369ae082fc5cdf0f2b0bd683e611ff7f90f6",
"shasum": "" "shasum": ""
}, },
"type": "library", "type": "library",
@@ -489,9 +489,9 @@
"description": "Language resources used by PocketMine-MP", "description": "Language resources used by PocketMine-MP",
"support": { "support": {
"issues": "https://github.com/pmmp/Language/issues", "issues": "https://github.com/pmmp/Language/issues",
"source": "https://github.com/pmmp/Language/tree/2.25.2" "source": "https://github.com/pmmp/Language/tree/2.26.0"
}, },
"time": "2025-10-03T22:34:06+00:00" "time": "2025-10-07T17:26:32+00:00"
}, },
{ {
"name": "pocketmine/log", "name": "pocketmine/log",

View File

@@ -872,7 +872,7 @@ class Server{
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error2())); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error2()));
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error3())); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error3()));
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error4(Yml::SETTINGS_ENABLE_DEV_BUILDS))); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error4(Yml::SETTINGS_ENABLE_DEV_BUILDS)));
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error5("https://github.com/pmmp/PocketMine-MP/releases"))); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error5(VersionInfo::GITHUB_URL . "/releases")));
$this->forceShutdownExit(); $this->forceShutdownExit();
return; return;
@@ -1093,7 +1093,23 @@ class Server{
$this->configGroup->save(); $this->configGroup->save();
$this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_defaultGameMode($this->getGamemode()->getTranslatableName()))); $this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_defaultGameMode($this->getGamemode()->getTranslatableName())));
$this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_donate(TextFormat::AQUA . "https://patreon.com/pocketminemp" . TextFormat::RESET))); $highlight = TextFormat::AQUA;
$reset = TextFormat::RESET;
$github = VersionInfo::GITHUB_URL;
$splash = "\n\n";
foreach([
KnownTranslationFactory::pocketmine_server_url_discord("{$highlight}https://discord.pmmp.io{$reset}"),
KnownTranslationFactory::pocketmine_server_url_docs("{$highlight}https://doc.pmmp.io{$reset}"),
KnownTranslationFactory::pocketmine_server_url_sourceCode("{$highlight}{$github}{$reset}"),
KnownTranslationFactory::pocketmine_server_url_freePlugins("{$highlight}https://poggit.pmmp.io/plugins{$reset}"),
KnownTranslationFactory::pocketmine_server_url_donations("{$highlight}https://patreon.com/pocketminemp{$reset}"),
KnownTranslationFactory::pocketmine_server_url_translations("{$highlight}https://translate.pocketmine.net{$reset}"),
KnownTranslationFactory::pocketmine_server_url_bugReporting("{$highlight}{$github}/issues{$reset}")
] as $link){
$splash .= "- " . $this->language->translate($link) . "\n";
}
$this->logger->info($splash);
$this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_startFinished(strval(round(microtime(true) - $this->startTime, 3))))); $this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_startFinished(strval(round(microtime(true) - $this->startTime, 3)))));
$forwarder = new BroadcastLoggerForwarder($this, $this->logger, $this->language); $forwarder = new BroadcastLoggerForwarder($this, $this->logger, $this->language);

View File

@@ -34,6 +34,7 @@ final class VersionInfo{
public const BASE_VERSION = "5.35.1"; public const BASE_VERSION = "5.35.1";
public const IS_DEVELOPMENT_BUILD = true; public const IS_DEVELOPMENT_BUILD = true;
public const BUILD_CHANNEL = "stable"; public const BUILD_CHANNEL = "stable";
public const GITHUB_URL = "https://github.com/pmmp/PocketMine-MP";
/** /**
* PocketMine-MP-specific version ID for world data. Used to determine what fixes need to be applied to old world * PocketMine-MP-specific version ID for world data. Used to determine what fixes need to be applied to old world

View File

@@ -2863,6 +2863,48 @@ final class KnownTranslationFactory{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_TICKOVERLOAD, []); return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_TICKOVERLOAD, []);
} }
public static function pocketmine_server_url_bugReporting(Translatable|string $bugReportingUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_BUGREPORTING, [
"bugReportingUrl" => $bugReportingUrl,
]);
}
public static function pocketmine_server_url_discord(Translatable|string $discordUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_DISCORD, [
"discordUrl" => $discordUrl,
]);
}
public static function pocketmine_server_url_docs(Translatable|string $docsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_DOCS, [
"docsUrl" => $docsUrl,
]);
}
public static function pocketmine_server_url_donations(Translatable|string $donationsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_DONATIONS, [
"donationsUrl" => $donationsUrl,
]);
}
public static function pocketmine_server_url_freePlugins(Translatable|string $pluginsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_FREEPLUGINS, [
"pluginsUrl" => $pluginsUrl,
]);
}
public static function pocketmine_server_url_sourceCode(Translatable|string $sourceUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_SOURCECODE, [
"sourceUrl" => $sourceUrl,
]);
}
public static function pocketmine_server_url_translations(Translatable|string $translationsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_TRANSLATIONS, [
"translationsUrl" => $translationsUrl,
]);
}
public static function pocketmine_plugins() : Translatable{ public static function pocketmine_plugins() : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_PLUGINS, []); return new Translatable(KnownTranslationKeys::POCKETMINE_PLUGINS, []);
} }

View File

@@ -616,6 +616,13 @@ final class KnownTranslationKeys{
public const POCKETMINE_SERVER_START = "pocketmine.server.start"; public const POCKETMINE_SERVER_START = "pocketmine.server.start";
public const POCKETMINE_SERVER_STARTFINISHED = "pocketmine.server.startFinished"; public const POCKETMINE_SERVER_STARTFINISHED = "pocketmine.server.startFinished";
public const POCKETMINE_SERVER_TICKOVERLOAD = "pocketmine.server.tickOverload"; public const POCKETMINE_SERVER_TICKOVERLOAD = "pocketmine.server.tickOverload";
public const POCKETMINE_SERVER_URL_BUGREPORTING = "pocketmine.server.url.bugReporting";
public const POCKETMINE_SERVER_URL_DISCORD = "pocketmine.server.url.discord";
public const POCKETMINE_SERVER_URL_DOCS = "pocketmine.server.url.docs";
public const POCKETMINE_SERVER_URL_DONATIONS = "pocketmine.server.url.donations";
public const POCKETMINE_SERVER_URL_FREEPLUGINS = "pocketmine.server.url.freePlugins";
public const POCKETMINE_SERVER_URL_SOURCECODE = "pocketmine.server.url.sourceCode";
public const POCKETMINE_SERVER_URL_TRANSLATIONS = "pocketmine.server.url.translations";
public const POCKETMINE_PLUGINS = "pocketmine_plugins"; public const POCKETMINE_PLUGINS = "pocketmine_plugins";
public const POCKETMINE_WILL_START = "pocketmine_will_start"; public const POCKETMINE_WILL_START = "pocketmine_will_start";
public const PORT_WARNING = "port_warning"; public const PORT_WARNING = "port_warning";