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/color": "^0.3.0",
"pocketmine/errorhandler": "^0.7.0",
"pocketmine/locale-data": "~2.25.0",
"pocketmine/locale-data": "~2.26.0",
"pocketmine/log": "^0.4.0",
"pocketmine/math": "~1.0.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",
"This file is @generated automatically"
],
"content-hash": "85d9a1b0bed8a5b1fff320d396bdeb4f",
"content-hash": "ad9a8e8069598ae5ec679f069461623f",
"packages": [
{
"name": "adhocore/json-comment",
@@ -472,16 +472,16 @@
},
{
"name": "pocketmine/locale-data",
"version": "2.25.2",
"version": "2.26.0",
"source": {
"type": "git",
"url": "https://github.com/pmmp/Language.git",
"reference": "44727765ad43df5e2e24a54ae70a70607ec7d488"
"reference": "f791369ae082fc5cdf0f2b0bd683e611ff7f90f6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pmmp/Language/zipball/44727765ad43df5e2e24a54ae70a70607ec7d488",
"reference": "44727765ad43df5e2e24a54ae70a70607ec7d488",
"url": "https://api.github.com/repos/pmmp/Language/zipball/f791369ae082fc5cdf0f2b0bd683e611ff7f90f6",
"reference": "f791369ae082fc5cdf0f2b0bd683e611ff7f90f6",
"shasum": ""
},
"type": "library",
@@ -489,9 +489,9 @@
"description": "Language resources used by PocketMine-MP",
"support": {
"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",

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_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_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();
return;
@@ -1093,7 +1093,23 @@ class Server{
$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_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)))));
$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 IS_DEVELOPMENT_BUILD = true;
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

View File

@@ -2863,6 +2863,48 @@ final class KnownTranslationFactory{
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{
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_STARTFINISHED = "pocketmine.server.startFinished";
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_WILL_START = "pocketmine_will_start";
public const PORT_WARNING = "port_warning";