Modrinth Hosting rebrand (#4846)

* Modrinth Hosting rebranding

* fix capitalization issue

* fix issues
This commit is contained in:
Prospector
2025-12-03 14:15:36 -08:00
committed by GitHub
parent 79c2633011
commit 16a6f7b352
61 changed files with 212 additions and 286 deletions

View File

@@ -794,7 +794,7 @@ provideAppUpdateDownloadProgress(appUpdateDownload)
<NavButton
v-if="themeStore.featureFlags.servers_in_app"
v-tooltip.right="'Servers'"
to="/servers/manage"
to="/hosting/manage"
>
<ServerIcon />
</NavButton>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" version="1.1" viewBox="0 0 1793 199">
<g>
<g id="Layer_1">
<g id="green" fill="var(--color-brand)">
<path d="M1184.1,166.6c-8,0-15.6-1-22.9-3.1s-13.1-4.6-17.4-7.6l8.5-16.9c4.3,2.7,9.4,5,15.3,6.8,5.9,1.8,11.9,2.7,17.8,2.7s12.1-.9,15.2-2.8c3.1-1.9,4.7-4.5,4.7-7.7s-1.1-4.6-3.2-6c-2.1-1.4-4.9-2.4-8.4-3.1-3.4-.7-7.3-1.4-11.5-2-4.2-.6-8.4-1.4-12.6-2.4-4.2-1-8-2.5-11.5-4.5-3.4-2-6.2-4.6-8.4-7.9-2.1-3.3-3.2-7.7-3.2-13.2s1.7-11.3,5.2-15.8c3.4-4.5,8.3-7.9,14.5-10.3,6.2-2.4,13.6-3.7,22.2-3.7s12.9.7,19.4,2.1c6.5,1.4,11.9,3.4,16.2,6.1l-8.5,16.9c-4.5-2.7-9.1-4.6-13.6-5.6-4.6-1-9.1-1.5-13.6-1.5-6.8,0-11.8,1-15,3-3.3,2-4.9,4.6-4.9,7.7s1.1,5,3.2,6.4c2.1,1.4,4.9,2.6,8.4,3.4,3.4.8,7.3,1.5,11.5,2,4.2.5,8.4,1.3,12.6,2.4,4.2,1.1,8,2.5,11.5,4.4,3.5,1.8,6.3,4.4,8.5,7.7,2.1,3.3,3.2,7.7,3.2,13s-1.8,11.1-5.3,15.5c-3.5,4.4-8.5,7.8-14.9,10.2-6.4,2.4-14.1,3.7-23,3.7Z"/>
<path d="M1291.1,166.6c-10.6,0-19.8-2.1-27.7-6.3-7.9-4.2-14-10-18.3-17.4-4.3-7.4-6.5-15.7-6.5-25.1s2.1-17.9,6.3-25.2c4.2-7.3,10-13,17.5-17.2,7.4-4.2,15.9-6.2,25.4-6.2s17.5,2,24.8,6.1c7.2,4,12.9,9.7,17.1,17.1,4.2,7.4,6.2,16,6.2,26s0,2,0,3.2c0,1.2-.2,2.3-.3,3.4h-79.3v-14.8h67.5l-8.7,4.6c.1-5.5-1-10.3-3.4-14.4-2.4-4.2-5.6-7.4-9.7-9.8-4.1-2.4-8.8-3.6-14.2-3.6s-10.2,1.2-14.3,3.6c-4.1,2.4-7.3,5.7-9.6,9.9-2.3,4.2-3.5,9.2-3.5,14.9v3.6c0,5.7,1.3,10.7,3.9,15.1,2.6,4.4,6.3,7.8,11,10.2,4.7,2.4,10.2,3.6,16.4,3.6s10.2-.8,14.4-2.5c4.3-1.7,8.1-4.3,11.4-7.8l11.9,13.7c-4.3,5-9.6,8.8-16.1,11.5-6.5,2.7-13.9,4-22.2,4Z"/>
<path d="M1357.2,165.3v-95.1h21.2v26.2l-2.5-7.7c2.8-6.4,7.3-11.3,13.4-14.6,6.1-3.3,13.7-5,22.9-5v21.2c-1-.2-1.8-.4-2.7-.4-.8,0-1.7,0-2.5,0-8.4,0-15.1,2.5-20.1,7.4-5,4.9-7.5,12.3-7.5,22v46.1h-22.3Z"/>
<path d="M1460,165.3l-40.8-95.1h23.2l35.1,83.9h-11.4l36.3-83.9h21.4l-40.8,95.1h-23Z"/>
<path d="M1579.6,166.6c-10.6,0-19.8-2.1-27.7-6.3-7.9-4.2-14-10-18.3-17.4-4.3-7.4-6.5-15.7-6.5-25.1s2.1-17.9,6.3-25.2c4.2-7.3,10-13,17.5-17.2,7.4-4.2,15.9-6.2,25.4-6.2s17.5,2,24.8,6.1c7.2,4,12.9,9.7,17.1,17.1,4.2,7.4,6.2,16,6.2,26s0,2,0,3.2c0,1.2-.2,2.3-.3,3.4h-79.3v-14.8h67.5l-8.7,4.6c.1-5.5-1-10.3-3.4-14.4-2.4-4.2-5.6-7.4-9.7-9.8-4.1-2.4-8.8-3.6-14.2-3.6s-10.2,1.2-14.3,3.6c-4.1,2.4-7.3,5.7-9.6,9.9-2.3,4.2-3.5,9.2-3.5,14.9v3.6c0,5.7,1.3,10.7,3.9,15.1,2.6,4.4,6.3,7.8,11,10.2,4.7,2.4,10.2,3.6,16.4,3.6s10.2-.8,14.4-2.5c4.3-1.7,8.1-4.3,11.4-7.8l11.9,13.7c-4.3,5-9.6,8.8-16.1,11.5-6.5,2.7-13.9,4-22.2,4Z"/>
<path d="M1645.7,165.3v-95.1h21.2v26.2l-2.5-7.7c2.8-6.4,7.3-11.3,13.4-14.6,6.1-3.3,13.7-5,22.9-5v21.2c-1-.2-1.8-.4-2.7-.4-.8,0-1.7,0-2.5,0-8.4,0-15.1,2.5-20.1,7.4-5,4.9-7.5,12.3-7.5,22v46.1h-22.3Z"/>
<path d="M1749.9,166.6c-8,0-15.6-1-22.9-3.1s-13.1-4.6-17.4-7.6l8.5-16.9c4.3,2.7,9.4,5,15.3,6.8,5.9,1.8,11.9,2.7,17.8,2.7s12.1-.9,15.2-2.8c3.1-1.9,4.7-4.5,4.7-7.7s-1.1-4.6-3.2-6c-2.1-1.4-4.9-2.4-8.4-3.1-3.4-.7-7.3-1.4-11.5-2-4.2-.6-8.4-1.4-12.6-2.4-4.2-1-8-2.5-11.5-4.5-3.4-2-6.2-4.6-8.4-7.9-2.1-3.3-3.2-7.7-3.2-13.2s1.7-11.3,5.2-15.8c3.4-4.5,8.3-7.9,14.5-10.3,6.2-2.4,13.6-3.7,22.2-3.7s12.9.7,19.4,2.1c6.5,1.4,11.9,3.4,16.2,6.1l-8.5,16.9c-4.5-2.7-9.1-4.6-13.6-5.6-4.6-1-9.1-1.5-13.6-1.5-6.8,0-11.8,1-15,3-3.3,2-4.9,4.6-4.9,7.7s1.1,5,3.2,6.4c2.1,1.4,4.9,2.6,8.4,3.4,3.4.8,7.3,1.5,11.5,2,4.2.5,8.4,1.3,12.6,2.4,4.2,1.1,8,2.5,11.5,4.4,3.5,1.8,6.3,4.4,8.5,7.7,2.1,3.3,3.2,7.7,3.2,13s-1.8,11.1-5.3,15.5c-3.5,4.4-8.5,7.8-14.9,10.2-6.4,2.4-14.1,3.7-23,3.7Z"/>
<g>
<path d="M9.8,143l63.4-38.1-5.8-15.3,18.1-18.6,22.9-4.9,6.6,8.2-10.6,10.7-9.2,2.9-6.6,6.8,3.2,9,6.5,6.9,9.2-2.5,6.6-7.2,14.3-4.5,4.3,9.6-14.8,18.1-24.8,7.8-11.1-12.4-63.6,38.2c-3-3.9-6.5-9.4-8.8-14.7ZM192.8,65.4l-50.4,13.6c2.8,7.4,3.7,11.7,4.5,16.5l50.3-13.6c-.8-5.4-2.2-10.8-4.4-16.5Z" fill-rule="evenodd"/>
<path d="M17.3,106.5c3.6,42.1,38.9,75.2,82,75.2s60.7-18.9,74-46.3l16.4,5.7c-15.8,34.1-50.3,57.9-90.4,57.9S3.6,158.2,0,106.5h17.3ZM.3,89.4C5.3,39.2,47.8,0,99.3,0s99.5,44.6,99.5,99.5-1.1,17.4-3.3,25.5l-16.3-5.7c1.6-6.5,2.4-13.1,2.4-19.8,0-45.4-36.9-82.3-82.3-82.3S22.6,48.7,17.6,89.4H.3Z" fill-rule="evenodd"/>
<path d="M99,51.6c-26.4,0-47.9,21.5-47.9,48s21.5,48,48,48,2.7,0,4-.2l4.8,16.8c-2.9.4-5.8.6-8.8.6-36,0-65.2-29.2-65.2-65.2S63.1,34.4,99,34.4s1.8,0,2.7,0l-2.7,17.1ZM118.6,37.4c26.4,8.3,45.6,33,45.6,62.2s-16.4,50.2-39.8,60l-4.8-16.7c16.2-7.7,27.4-24.2,27.4-43.3s-13-38.1-31.1-44.9l2.7-17.2Z" fill-rule="evenodd"/>
</g>
</g>
<g id="black" fill="currentColor">
<path d="M354.8,69.2c12,0,21.7,3.4,28.6,10.4,7,7.2,10.6,17.5,10.6,31.5v54.8h-22.4v-51.9c0-8.4-1.8-14.7-5.5-19-3.8-4.1-8.9-6.3-15.9-6.3s-13.6,2.5-18.1,7.3c-4.5,5-6.8,12.2-6.8,21.3v48.5h-22.4v-51.9c0-8.4-1.8-14.7-5.5-19-3.8-4.1-8.9-6.3-15.9-6.3s-13.6,2.5-18.1,7.3c-4.5,4.8-6.8,12-6.8,21.3v48.5h-22.4v-95.6h21.3v12.2c3.6-4.3,8.1-7.5,13.4-9.8,5.4-2.3,11.3-3.4,17.9-3.4s13.6,1.3,19.2,3.9c5.5,2.9,9.8,6.8,13.1,12,3.9-5,8.9-8.9,15.2-11.8,6.3-2.7,13.1-4.1,20.6-4.1ZM466,167.2c-9.7,0-18.4-2.1-26.1-6.3-7.6-4-13.8-10.1-18.1-17.5-4.5-7.3-6.6-15.7-6.6-25.2s2.1-17.9,6.6-25.2c4.3-7.4,10.6-13.4,18.1-17.4,7.7-4.1,16.5-6.3,26.1-6.3s18.6,2.1,26.3,6.3c7.7,4.1,13.8,10,18.3,17.4,4.3,7.3,6.4,15.7,6.4,25.2s-2.1,17.9-6.4,25.2c-4.5,7.5-10.6,13.4-18.3,17.5-7.7,4.1-16.5,6.3-26.3,6.3h0ZM466,148c8.2,0,15-2.7,20.4-8.2,5.4-5.5,8.1-12.7,8.1-21.7s-2.7-16.1-8.1-21.7c-5.4-5.5-12.2-8.2-20.4-8.2s-15,2.7-20.2,8.2c-5.4,5.5-8.1,12.7-8.1,21.7s2.7,16.1,8.1,21.7c5.2,5.5,12,8.2,20.2,8.2ZM631.5,33.1v132.8h-21.5v-12.3c-3.7,4.4-8.3,7.9-13.6,10.2-5.5,2.3-11.5,3.4-18.1,3.4s-17.4-2-24.7-6.1c-7.3-4.1-13.2-9.8-17.4-17.4-4.1-7.3-6.3-15.9-6.3-25.6s2.1-18.3,6.3-25.6c4.1-7.3,10-13.1,17.4-17.2,7.3-4.1,15.6-6.1,24.7-6.1s12.2,1.1,17.4,3.2c5.2,2.1,9.8,5.4,13.4,9.7v-49h22.4ZM581.1,148c5.4,0,10.2-1.3,14.5-3.8,4.3-2.3,7.7-5.9,10.2-10.4,2.5-4.5,3.8-9.8,3.8-15.7s-1.3-11.3-3.8-15.7c-2.5-4.5-5.9-8.1-10.2-10.6-4.3-2.3-9.1-3.6-14.5-3.6s-10.2,1.3-14.5,3.6c-4.3,2.5-7.7,6.1-10.2,10.6-2.5,4.5-3.8,9.8-3.8,15.7s1.3,11.3,3.8,15.7c2.5,4.5,5.9,8.1,10.2,10.4,4.3,2.5,9.1,3.8,14.5,3.8ZM681.6,84.3c6.4-10,17.7-15,34-15v21.3c-1.7-.3-3.4-.5-5.2-.5-8.8,0-15.6,2.5-20.4,7.5-4.8,5.2-7.3,12.5-7.3,22v46.4h-22.4v-95.6h21.3v14h0ZM734.1,70.3h22.4v95.6h-22.4v-95.6ZM745.4,54.6c-4.1,0-7.5-1.3-10.2-3.9-2.7-2.4-4.2-5.9-4.1-9.5,0-3.8,1.4-7,4.1-9.7,2.7-2.5,6.1-3.8,10.2-3.8s7.5,1.3,10.2,3.6c2.7,2.5,4.1,5.5,4.1,9.3s-1.3,7.2-3.9,9.8c-2.7,2.7-6.3,4.1-10.4,4.1ZM839.5,69.2c12,0,21.7,3.6,29,10.6,7.3,7,10.9,17.5,10.9,31.3v54.8h-22.4v-51.9c0-8.4-2-14.7-5.9-19-3.9-4.1-9.5-6.3-16.8-6.3s-14.7,2.5-19.5,7.3c-4.8,5-7.2,12.2-7.2,21.5v48.3h-22.4v-95.6h21.3v12.3c3.8-4.5,8.4-7.7,14-10,5.5-2.3,12-3.4,19-3.4ZM964.8,160.7c-2.8,2.2-6,3.9-9.5,4.8-3.9,1.1-7.9,1.6-12,1.6-10.6,0-18.6-2.7-24.3-8.2-5.7-5.5-8.6-13.4-8.6-24v-46h-15.7v-17.9h15.7v-21.8h22.4v21.8h25.6v17.9h-25.6v45.5c0,4.7,1.1,8.2,3.4,10.6,2.3,2.5,5.5,3.8,9.8,3.8s9.1-1.3,12.5-3.9l6.3,15.9ZM1036.9,69.2c12,0,21.7,3.6,29,10.6,7.3,7,10.9,17.5,10.9,31.3v54.8h-22.4v-51.9c0-8.4-2-14.7-5.9-19-3.9-4.1-9.5-6.3-16.8-6.3s-14.7,2.5-19.5,7.3c-4.8,5-7.2,12.2-7.2,21.5v48.3h-22.4V33.1h22.4v48.3c3.8-3.9,8.2-7,13.8-9.1,5.4-2,11.5-3,18.1-3Z"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -34,18 +34,18 @@ function updateAdPosition() {
<template>
<div ref="adsWrapper" class="ad-parent relative flex w-full justify-center cursor-pointer bg-bg">
<a
href="https://modrinth.gg/medal?from=app-placeholder"
href="https://modrinth.host/medal?from=app-placeholder"
target="_blank"
class="flex max-h-[250px] min-h-[250px] min-w-[300px] max-w-[300px] flex-col gap-4 rounded-[inherit]"
>
<img
src="https://cdn-raw.modrinth.com/medal-modrinth-servers-light-new.webp"
alt="Host your next server with Modrinth Servers"
src="https://cdn-raw.modrinth.com/modrinth-hosting-medal-light.webp"
alt="Host your next server with Modrinth Hosting"
class="hidden light-image rounded-[inherit]"
/>
<img
src="https://cdn-raw.modrinth.com/medal-modrinth-servers-dark-new.webp"
alt="Host your next server with Modrinth Servers"
src="https://cdn-raw.modrinth.com/modrinth-hosting-medal-dark.webp"
alt="Host your next server with Modrinth Hosting"
class="dark-image rounded-[inherit]"
/>
</a>

View File

@@ -29,7 +29,7 @@ export default new createRouter({
},
},
{
path: '/servers/manage/',
path: '/hosting/manage/',
name: 'Servers',
component: ServersManagePageIndex,
meta: {

View File

@@ -62,21 +62,21 @@ useHead({
const AD_PRESETS = {
medal: {
light: 'https://cdn-raw.modrinth.com/medal-modrinth-servers-light-new.webp',
dark: 'https://cdn-raw.modrinth.com/medal-modrinth-servers-dark-new.webp',
description: 'Host your next server with Modrinth Servers',
link: '/servers?plan&ref=medal',
light: 'https://cdn-raw.modrinth.com/modrinth-hosting-medal-light.webp',
dark: 'https://cdn-raw.modrinth.com/modrinth-hosting-medal-dark.webp',
description: 'Host your next server with Modrinth Hosting',
link: '/hosting?plan&ref=medal',
},
'modrinth-servers': {
light: 'https://cdn-raw.modrinth.com/modrinth-servers-placeholder-light.webp',
dark: 'https://cdn-raw.modrinth.com/modrinth-servers-placeholder-dark.webp',
description: 'Host your next server with Modrinth Servers',
link: '/servers',
'modrinth-hosting': {
light: 'https://cdn-raw.modrinth.com/modrinth-hosting-light.webp',
dark: 'https://cdn-raw.modrinth.com/modrinth-hosting-dark.webp',
description: 'Host your next server with Modrinth Hosting',
link: '/hosting',
},
}
const currentAd = computed(() =>
flags.value.enableMedalPromotion ? AD_PRESETS.medal : AD_PRESETS['modrinth-servers'],
flags.value.enableMedalPromotion ? AD_PRESETS.medal : AD_PRESETS['modrinth-hosting'],
)
onMounted(() => {

View File

@@ -208,7 +208,7 @@
the mod.
<NuxtLink
class="mt-2 flex items-center gap-1"
:to="`/servers/manage/${props.serverId}/options/loader`"
:to="`/hosting/manage/${props.serverId}/options/loader`"
target="_blank"
>
<ExternalIcon class="size-5 flex-none"></ExternalIcon> Modify modpack version

View File

@@ -135,6 +135,6 @@ const emit = defineEmits<{
const goHome = () => {
emit('cancel')
router.push({ path: '/servers/manage/' + route.params.id + '/files' })
router.push({ path: '/hosting/manage/' + route.params.id + '/files' })
}
</script>

View File

@@ -52,7 +52,7 @@
/>
<div v-if="submitted && error" class="text-red">{{ error }}</div>
</div>
<BackupWarning :backup-link="`/servers/manage/${props.server.serverId}/backups`" />
<BackupWarning :backup-link="`/hosting/manage/${props.server.serverId}/backups`" />
<div class="flex justify-start gap-2">
<ButtonStyled color="brand">
<button v-tooltip="error" :disabled="submitted || !!error" type="submit">

File diff suppressed because one or more lines are too long

View File

@@ -126,7 +126,7 @@ import { useStorage } from '@vueuse/core'
import { computed, ref } from 'vue'
import { useRouter } from 'vue-router'
import type { BackupInProgressReason } from '~/pages/servers/manage/[id].vue'
import type { BackupInProgressReason } from '~/pages/hosting/manage/[id].vue'
import LoadingIcon from './icons/LoadingIcon.vue'
import PanelSpinner from './PanelSpinner.vue'
@@ -214,7 +214,7 @@ const menuOptions = computed(() => [
id: 'allServers',
label: 'All servers',
icon: ServerIcon,
action: () => router.push('/servers/manage'),
action: () => router.push('/hosting/manage'),
},
{
id: 'details',

View File

@@ -69,7 +69,7 @@
</div>
</div>
<BackupWarning :backup-link="`/servers/manage/${props.server?.serverId}/backups`" />
<BackupWarning :backup-link="`/hosting/manage/${props.server?.serverId}/backups`" />
</div>
<div class="mt-4 flex justify-start gap-4">
<ButtonStyled :color="isDangerous ? 'red' : 'brand'">
@@ -133,7 +133,7 @@ import { ModrinthServersFetchError } from '@modrinth/utils'
import { onMounted, onUnmounted } from 'vue'
import type { ModrinthServer } from '~/composables/servers/modrinth-servers'
import type { BackupInProgressReason } from '~/pages/servers/manage/[id].vue'
import type { BackupInProgressReason } from '~/pages/hosting/manage/[id].vue'
const { addNotification } = injectNotificationManager()

View File

@@ -159,7 +159,7 @@
<BackupWarning
v-if="!initialSetup"
:backup-link="`/servers/manage/${props.server?.serverId}/backups`"
:backup-link="`/hosting/manage/${props.server?.serverId}/backups`"
/>
</div>
@@ -218,7 +218,7 @@ import { type Loaders, ModrinthServersFetchError } from '@modrinth/utils'
import { $fetch } from 'ofetch'
import type { ModrinthServer } from '~/composables/servers/modrinth-servers.ts'
import type { BackupInProgressReason } from '~/pages/servers/manage/[id].vue'
import type { BackupInProgressReason } from '~/pages/hosting/manage/[id].vue'
import LoaderIcon from './icons/LoaderIcon.vue'
import LoadingIcon from './icons/LoadingIcon.vue'

View File

@@ -163,7 +163,7 @@ import { ButtonStyled, NewProjectCard } from '@modrinth/ui'
import type { Loaders } from '@modrinth/utils'
import type { ModrinthServer } from '~/composables/servers/modrinth-servers.ts'
import type { BackupInProgressReason } from '~/pages/servers/manage/[id].vue'
import type { BackupInProgressReason } from '~/pages/hosting/manage/[id].vue'
import LoaderSelector from './LoaderSelector.vue'
import PlatformChangeModpackVersionModal from './PlatformChangeModpackVersionModal.vue'

View File

@@ -39,7 +39,7 @@ import { RightArrowIcon } from '@modrinth/assets'
import type { RouteLocationNormalized } from 'vue-router'
import type { ModrinthServer } from '~/composables/servers/modrinth-servers.ts'
import type { BackupInProgressReason } from '~/pages/servers/manage/[id].vue'
import type { BackupInProgressReason } from '~/pages/hosting/manage/[id].vue'
const emit = defineEmits(['reinstall'])

View File

@@ -53,7 +53,7 @@
</div>
</div>
<nuxt-link
:to="loading ? undefined : `/servers/manage/${serverId}/files`"
:to="loading ? undefined : `/hosting/manage/${serverId}/files`"
class="relative isolate min-h-[156px] w-full overflow-hidden rounded-2xl bg-bg-raised p-8"
:class="loading ? '' : 'transition-transform duration-100 hover:scale-105 active:scale-100'"
>

View File

@@ -141,7 +141,7 @@ const billingMonths = computed(() => {
:ram="ram"
:storage="storage"
:cpus="cpus"
:bursting-link="'/servers#cpu-burst'"
:bursting-link="'/hosting#cpu-burst'"
@click-bursting-link="() => emit('scroll-to-faq')"
/>
</div>

View File

@@ -54,12 +54,12 @@ export class GeneralModule extends ServerModule implements ServerGeneral {
const motd = await this.getMotd()
if (motd === 'A Minecraft Server') {
await this.setMotd(
`§b${data.project?.title || data.loader + ' ' + data.mc_version} §f♦ §aModrinth Servers`,
`§b${data.project?.title || data.loader + ' ' + data.mc_version} §f♦ §aModrinth Hosting`,
)
}
data.motd = motd
} catch {
console.error('[Modrinth Servers] [General] Failed to fetch MOTD.')
console.error('[Modrinth Hosting] [General] Failed to fetch MOTD.')
data.motd = undefined
}
@@ -224,7 +224,7 @@ export class GeneralModule extends ServerModule implements ServerGeneral {
}
} catch {
console.error(
'[Modrinth Servers] [General] Failed to set MOTD due to lack of server properties file.',
'[Modrinth Hosting] [General] Failed to set MOTD due to lack of server properties file.',
)
}
}

View File

@@ -27,7 +27,7 @@ export async function useServersFetch<T>(
if (!authToken && !options.bypassAuth) {
const error = new ModrinthServersFetchError(
'[Modrinth Servers] Cannot fetch without auth',
'[Modrinth Hosting] Cannot fetch without auth',
10000,
)
throw new ModrinthServerError('Missing auth token', 401, error, module, undefined, undefined)
@@ -49,7 +49,7 @@ export async function useServersFetch<T>(
const now = Date.now()
if (failureCount.value >= 3 && now - lastFailureTime.value < 30000) {
const error = new ModrinthServersFetchError(
'[Modrinth Servers] Circuit breaker open - too many recent failures',
'[Modrinth Hosting] Circuit breaker open - too many recent failures',
503,
)
throw new ModrinthServerError(
@@ -73,7 +73,7 @@ export async function useServersFetch<T>(
if (!base) {
const error = new ModrinthServersFetchError(
'[Modrinth Servers] Cannot fetch without base url. Make sure to set a PYRO_BASE_URL in environment variables',
'[Modrinth Hosting] Cannot fetch without base url. Make sure to set a PYRO_BASE_URL in environment variables',
10001,
)
throw new ModrinthServerError(
@@ -183,12 +183,12 @@ export async function useServersFetch<T>(
console.error('Fetch error:', error)
const fetchError = new ModrinthServersFetchError(
`[Modrinth Servers] ${error.message}`,
`[Modrinth Hosting] ${error.message}`,
statusCode,
error,
)
throw new ModrinthServerError(
`[Modrinth Servers] ${message}`,
`[Modrinth Hosting] ${message}`,
statusCode,
fetchError,
module,
@@ -206,7 +206,7 @@ export async function useServersFetch<T>(
console.error('Unexpected fetch error:', error)
const fetchError = new ModrinthServersFetchError(
'[Modrinth Servers] An unexpected error occurred during the fetch operation.',
'[Modrinth Hosting] An unexpected error occurred during the fetch operation.',
undefined,
error as Error,
)

View File

@@ -407,14 +407,14 @@
<ButtonStyled
type="transparent"
:highlighted="
route.name?.startsWith('servers') ||
route.name?.startsWith('hosting') ||
(route.name?.startsWith('search-') && route.query.sid)
"
:highlighted-style="
route.name === 'servers' ? 'main-nav-primary' : 'main-nav-secondary'
route.name === 'hosting' ? 'main-nav-primary' : 'main-nav-secondary'
"
>
<nuxt-link to="/servers">
<nuxt-link to="/hosting">
<ServerIcon aria-hidden="true" />
{{ formatMessage(navMenuMessages.hostAServer) }}
</nuxt-link>
@@ -683,7 +683,7 @@
<LibraryIcon class="icon" />
{{ formatMessage(commonMessages.collectionsLabel) }}
</NuxtLink>
<NuxtLink class="iconified-button" to="/servers/manage">
<NuxtLink class="iconified-button" to="/hosting/manage">
<ServerIcon class="icon" />
{{ formatMessage(commonMessages.serversLabel) }}
</NuxtLink>
@@ -1366,7 +1366,7 @@ const userMenuOptions = computed(() => {
},
{
id: 'servers',
link: '/servers/manage',
link: '/hosting/manage',
},
{
id: 'flags',
@@ -1455,7 +1455,7 @@ const disableRandomProjects = ref(false)
const disableRandomProjectsForRoute = computed(
() =>
route.name.startsWith('servers') ||
route.name.startsWith('hosting') ||
route.name.includes('settings') ||
route.name.includes('admin'),
)
@@ -1685,11 +1685,11 @@ const footerLinks = [
),
},
{
href: '/servers',
href: '/hosting',
label: formatMessage(
defineMessage({
id: 'layout.footer.products.servers',
defaultMessage: 'Modrinth Servers',
defaultMessage: 'Modrinth Hosting',
}),
),
},

View File

@@ -1359,7 +1359,7 @@
"message": "Modrinth+"
},
"layout.footer.products.servers": {
"message": "Modrinth Servers"
"message": "Modrinth Hosting"
},
"layout.footer.resources": {
"message": "Resources"
@@ -2001,7 +2001,7 @@
"message": "Review project"
},
"project.actions.servers-promo.description": {
"message": "Modrinth Servers is the easiest way to play with your friends without hassle!"
"message": "Modrinth Hosting is the easiest way to play with your friends without hassle!"
},
"project.actions.servers-promo.pricing": {
"message": "Starting at {price}<small> / month</small>"

View File

@@ -0,0 +1,6 @@
export default defineNuxtRouteMiddleware((to) => {
if (to.path.startsWith('/servers')) {
const target = to.fullPath.replace('/servers', '/hosting')
return navigateTo(target, { redirectCode: 301 })
}
})

View File

@@ -418,7 +418,7 @@
</AutomaticAccordion>
<ServersPromo
v-if="flags.showProjectPageDownloadModalServersPromo"
:link="`/servers#plan`"
:link="`/hosting#plan`"
@close="
() => {
flags.showProjectPageDownloadModalServersPromo = false
@@ -485,7 +485,7 @@
<ButtonStyled size="large" circular>
<nuxt-link
v-tooltip="formatMessage(messages.createServerTooltip)"
:to="`/servers?project=${project.id}#plan`"
:to="`/hosting?project=${project.id}#plan`"
@click="
() => {
flags.showProjectPageCreateServersTooltip = false
@@ -1314,7 +1314,7 @@ const messages = defineMessages({
},
serversPromoDescription: {
id: 'project.actions.servers-promo.description',
defaultMessage: 'Modrinth Servers is the easiest way to play with your friends without hassle!',
defaultMessage: 'Modrinth Hosting is the easiest way to play with your friends without hassle!',
},
serversPromoPricing: {
id: 'project.actions.servers-promo.pricing',

View File

@@ -182,7 +182,7 @@
"
>
<nuxt-link
:to="`/servers/manage/${subscription.metadata.id}`"
:to="`/hosting/manage/${subscription.metadata.id}`"
target="_blank"
class="w-fit"
>

View File

@@ -122,7 +122,7 @@
<div
class="mb-6 flex items-end justify-between border-0 border-b border-solid border-divider pb-4"
>
<h1 class="m-0 text-2xl">Servers notices</h1>
<h1 class="m-0 text-2xl">Server notices</h1>
<ButtonStyled color="brand">
<button @click="openNewNoticeModal">
<PlusIcon />

View File

@@ -18,7 +18,7 @@
:customer="customer"
:payment-methods="paymentMethods"
:currency="selectedCurrency"
:return-url="`${config.public.siteUrl}/servers/manage`"
:return-url="`${config.public.siteUrl}/hosting/manage`"
:server-name="`${auth?.user?.username}'s server`"
:out-of-stock-url="outOfStockUrl"
:fetch-capacity-statuses="fetchCapacityStatuses"
@@ -40,13 +40,13 @@
{{ formatMessage(commonMessages.betaRelease) }}
</div>
<h1 class="relative m-0 max-w-3xl text-3xl font-bold !leading-[110%] md:text-6xl">
Host your next server with Modrinth Servers
Host your next server with Modrinth Hosting
</h1>
</div>
<h2
class="relative m-0 max-w-2xl text-base font-normal leading-[155%] text-secondary md:text-[1.2rem]"
>
Modrinth Servers is the easiest way to host your own Minecraft: Java Edition server.
Modrinth Hosting is the easiest way to host your own Minecraft: Java Edition server.
Seamlessly install and play your favorite mods and modpacks, all within the Modrinth
platform.
</h2>
@@ -61,7 +61,7 @@
</nuxt-link>
</ButtonStyled>
<ButtonStyled v-if="hasServers" type="outlined" size="large">
<nuxt-link class="w-fit" to="/servers/manage">
<nuxt-link class="w-fit" to="/hosting/manage">
<BoxIcon aria-hidden="true" /> Manage your servers
</nuxt-link>
</ButtonStyled>
@@ -110,7 +110,7 @@
<div
class="relative w-fit rounded-full bg-highlight-green px-3 py-1 text-sm font-bold text-brand backdrop-blur-lg"
>
Why Modrinth Servers?
Why Modrinth Hosting?
</div>
<h1 class="relative m-0 max-w-2xl text-4xl leading-[120%] md:text-7xl">
Find a modpack. Now it's a server.
@@ -148,7 +148,7 @@
</svg>
<h2 class="m-0 text-lg font-bold">Play where your mods are</h2>
<h3 class="m-0 text-base font-normal text-secondary">
Modrinth Servers seamlessly integrates the mod and modpack installation process into
Modrinth Hosting seamlessly integrates the mod and modpack installation process into
your server.
</h3>
</div>
@@ -213,7 +213,7 @@
</svg>
<h2 class="m-0 text-lg font-bold">Experience modern, reliable hosting</h2>
<h3 class="m-0 text-base font-normal text-secondary">
Modrinth Servers are hosted on
Modrinth Hosting servers are hosted on
<span class="text-contrast">high-performance AMD CPUs with DDR5 RAM</span>, running on
custom-built software to ensure your server performs smoothly.
</h3>
@@ -341,7 +341,7 @@
A powerful console, server properties manager, and more
</h2>
<h3 class="m-0 text-base font-normal text-secondary">
Modrinth Servers come with powerful tools to manage your server.
Modrinth Hosting comes with powerful tools to manage your server.
</h3>
</div>
<div class="relative flex flex-col gap-4 rounded-2xl bg-bg p-6 text-left md:p-12">
@@ -378,7 +378,7 @@
<TransferIcon class="size-8 text-brand" />
<h2 class="m-0 text-lg font-bold">SFTP access</h2>
<h3 class="m-0 text-base font-normal text-secondary">
Access your server files directly with SFTP built into Modrinth Servers.
Access your server's files directly with SFTP built into Modrinth Hosting.
</h3>
</div>
<div class="relative flex flex-col gap-4 rounded-2xl bg-bg p-6 text-left md:p-12">
@@ -398,11 +398,11 @@
<span class="mr-2 transition-transform duration-200 group-open:rotate-90">
<RightArrowIcon />
</span>
What kind of CPUs do Modrinth Servers run on?
What kind of CPUs do Modrinth Hosting servers run on?
</summary>
<p class="m-0 ml-6 leading-[160%]">
Modrinth Servers are powered by AMD Ryzen 7900 and 7950X3D equivalent CPUs at 5+
GHz, paired with DDR5 memory.
Modrinth Hosting servers are powered by AMD Ryzen 7900 and 7950X3D equivalent CPUs
at 5+ GHz, paired with DDR5 memory.
</p>
</details>
<details nav-hash="cpu-burst" class="group" :open="$route.hash === '#cpu-burst'">
@@ -426,11 +426,11 @@
<span class="mr-2 transition-transform duration-200 group-open:rotate-90">
<RightArrowIcon />
</span>
Do Modrinth Servers have DDoS protection?
Do Modrinth Hosting servers have DDoS protection?
</summary>
<p class="m-0 ml-6 leading-[160%]">
Yes. All Modrinth Servers come with DDoS protection, with up to 17Tbps capacity in
some locations.
Yes. All Modrinth Hosting servers come with DDoS protection, with up to 17Tbps
capacity in some locations.
</p>
</details>
@@ -439,7 +439,7 @@
<span class="mr-2 transition-transform duration-200 group-open:rotate-90">
<RightArrowIcon />
</span>
Where are Modrinth Servers located? Can I choose a region?
Where are Modrinth Hosting servers located? Can I choose a region?
</summary>
<p class="m-0 ml-6 leading-[160%]">
We have servers available in North America, Europe, and Southeast Asia at the moment
@@ -466,13 +466,13 @@
<span class="mr-2 transition-transform duration-200 group-open:rotate-90">
<RightArrowIcon />
</span>
How fast are Modrinth Servers?
How fast are Modrinth Hosting servers?
</summary>
<p class="m-0 ml-6 leading-[160%]">
Modrinth Servers are hosted on very modern high-performance hardware, but it's tough
to say how exactly that will translate into how fast your server will run because
there are so many factors that affect it, such as the mods, data packs, or plugins
you're running on your server, and even user behavior.
Modrinth Hosting servers are hosted on very modern high-performance hardware, but
it's tough to say how exactly that will translate into how fast your server will run
because there are so many factors that affect it, such as the mods, data packs, or
plugins you're running on your server, and even user behavior.
</p>
<p class="mb-0 ml-6 mt-3 leading-[160%]">
Most performance issues that arise tend to be the fault of an unoptimized modpack,
@@ -502,8 +502,8 @@
What Minecraft versions and loaders can be used?
</summary>
<p class="m-0 ml-6 leading-[160%]">
Modrinth Servers can run any version of Minecraft: Java Edition going all the way
back to version 1.2.5, including snapshot versions.
Modrinth Hosting servers can run any version of Minecraft: Java Edition going all
the way back to version 1.2.5, including snapshot versions.
</p>
<p class="m-0 ml-6 mt-3 leading-[160%]">
We also support a wide range of mod and plugin loaders, including Fabric, Quilt,
@@ -705,7 +705,7 @@ const lowestPrice = computed(() => {
return amount ? amount / monthsInInterval[billingPeriod.value] : undefined
})
const title = 'Modrinth Servers'
const title = 'Modrinth Hosting'
const description =
'Start your own Minecraft server directly on Modrinth. Play your favorite mods, plugins, and datapacks — without the hassle of setup.'

View File

@@ -116,7 +116,7 @@
}"
>
<div>
<NuxtLink to="/servers/manage" class="breadcrumb goto-link flex w-fit items-center">
<NuxtLink to="/hosting/manage" class="breadcrumb goto-link flex w-fit items-center">
<LeftArrowIcon />
All servers
</NuxtLink>
@@ -231,7 +231,7 @@
<ul class="m-0 mt-4 p-0 pl-4">
<li>
If this version of Minecraft was released recently, please check if Modrinth
Servers supports it.
Hosting supports it.
</li>
<li>
If you've installed a modpack, it may have been packaged incorrectly or may
@@ -261,7 +261,7 @@
<div
v-if="errorMessage.toLocaleLowerCase() === 'this version is not yet supported'"
>
An error occurred while installing your server because Modrinth Servers does not
An error occurred while installing your server because Modrinth Hosting does not
support the version of Minecraft or the loader you specified. Try reinstalling
your server with a different version or loader, and if the problem persists,
please contact Modrinth Support with your server's debug information.
@@ -284,7 +284,7 @@
<ButtonStyled color="red" type="standard">
<NuxtLink
class="whitespace-pre"
:to="`/servers/manage/${serverId}/options/loader`"
:to="`/hosting/manage/${serverId}/options/loader`"
>
<RightArrowIcon />
Change Loader
@@ -501,17 +501,17 @@ const showGameLabel = computed(() => !!serverData.value?.game)
const showLoaderLabel = computed(() => !!serverData.value?.loader)
const navLinks = [
{ label: 'Overview', href: `/servers/manage/${serverId}`, subpages: [] },
{ label: 'Overview', href: `/hosting/manage/${serverId}`, subpages: [] },
{
label: 'Content',
href: `/servers/manage/${serverId}/content`,
href: `/hosting/manage/${serverId}/content`,
subpages: ['mods', 'datapacks'],
},
{ label: 'Files', href: `/servers/manage/${serverId}/files`, subpages: [] },
{ label: 'Backups', href: `/servers/manage/${serverId}/backups`, subpages: [] },
{ label: 'Files', href: `/hosting/manage/${serverId}/files`, subpages: [] },
{ label: 'Backups', href: `/hosting/manage/${serverId}/backups`, subpages: [] },
{
label: 'Options',
href: `/servers/manage/${serverId}/options`,
href: `/hosting/manage/${serverId}/options`,
subpages: ['startup', 'network', 'properties', 'info'],
},
]
@@ -1117,7 +1117,7 @@ const suspendedAction = computed(() => ({
const generalErrorAction = computed(() => ({
label: 'Go back to all servers',
onClick: () => router.push('/servers/manage'),
onClick: () => router.push('/hosting/manage'),
color: 'brand' as const,
}))
@@ -1139,7 +1139,7 @@ const copyServerDebugInfo = () => {
const openInstallLog = () => {
router.replace({
path: `/servers/manage/${serverId}/files`,
path: `/hosting/manage/${serverId}/files`,
query: { ...route.query, editing: errorLogFile.value },
})
}

View File

@@ -327,7 +327,7 @@
</ButtonStyled>
<div>or</div>
<ButtonStyled class="mt-8">
<NuxtLink :to="`/servers/manage/${props.server.serverId}/options/loader`">
<NuxtLink :to="`/hosting/manage/${props.server.serverId}/options/loader`">
<WrenchIcon />
Change platform
</NuxtLink>

View File

@@ -22,7 +22,7 @@ import { isAdmin as isUserAdmin, type User } from '@modrinth/utils'
import ServerSidebar from '~/components/ui/servers/ServerSidebar.vue'
import type { ModrinthServer } from '~/composables/servers/modrinth-servers.ts'
import type { BackupInProgressReason } from '~/pages/servers/manage/[id].vue'
import type { BackupInProgressReason } from '~/pages/hosting/manage/[id].vue'
const route = useRoute()
const serverId = route.params.id as string
@@ -42,15 +42,15 @@ const isOwner = computed(() => (auth.value?.user as User | null)?.id === ownerId
const isAdmin = computed(() => isUserAdmin(auth.value?.user))
const navLinks = computed(() => [
{ icon: SettingsIcon, label: 'General', href: `/servers/manage/${serverId}/options` },
{ icon: WrenchIcon, label: 'Platform', href: `/servers/manage/${serverId}/options/loader` },
{ icon: TextQuoteIcon, label: 'Startup', href: `/servers/manage/${serverId}/options/startup` },
{ icon: VersionIcon, label: 'Network', href: `/servers/manage/${serverId}/options/network` },
{ icon: ListIcon, label: 'Properties', href: `/servers/manage/${serverId}/options/properties` },
{ icon: SettingsIcon, label: 'General', href: `/hosting/manage/${serverId}/options` },
{ icon: WrenchIcon, label: 'Platform', href: `/hosting/manage/${serverId}/options/loader` },
{ icon: TextQuoteIcon, label: 'Startup', href: `/hosting/manage/${serverId}/options/startup` },
{ icon: VersionIcon, label: 'Network', href: `/hosting/manage/${serverId}/options/network` },
{ icon: ListIcon, label: 'Properties', href: `/hosting/manage/${serverId}/options/properties` },
{
icon: UserIcon,
label: 'Preferences',
href: `/servers/manage/${serverId}/options/preferences`,
href: `/hosting/manage/${serverId}/options/preferences`,
},
{
icon: CardIcon,
@@ -66,6 +66,6 @@ const navLinks = computed(() => [
external: true,
shown: isAdmin.value,
},
{ icon: InfoIcon, label: 'Info', href: `/servers/manage/${serverId}/options/info` },
{ icon: InfoIcon, label: 'Info', href: `/hosting/manage/${serverId}/options/info` },
])
</script>

View File

@@ -9,7 +9,7 @@
<script setup lang="ts">
import ServerInstallation from '~/components/ui/servers/ServerInstallation.vue'
import type { ModrinthServer } from '~/composables/servers/modrinth-servers.ts'
import type { BackupInProgressReason } from '~/pages/servers/manage/[id].vue'
import type { BackupInProgressReason } from '~/pages/hosting/manage/[id].vue'
const props = defineProps<{
server: ModrinthServer

View File

@@ -6,13 +6,19 @@ import { getChangelog, type Product } from '@modrinth/utils'
import NavTabs from '~/components/ui/NavTabs.vue'
const route = useRoute()
const router = useRouter()
const filter = ref<Product | undefined>(undefined)
const allChangelogEntries = ref(getChangelog())
function updateFilter() {
if (route.query.filter) {
filter.value = route.query.filter as Product
let value = route.query.filter
if (route.query.filter === 'servers') {
router.push({ query: { ...route.query, filter: 'hosting' } })
value = 'hosting'
}
filter.value = value as Product
} else {
filter.value = undefined
}
@@ -42,8 +48,8 @@ const changelogEntries = computed(() =>
href: 'web',
},
{
label: 'Servers',
href: 'servers',
label: 'Hosting',
href: 'hosting',
},
{
label: 'App',

View File

@@ -15,7 +15,7 @@
class="flex flex-wrap items-center justify-between gap-3 border-0 border-b border-solid border-divider pb-4"
>
<nuxt-link
:to="`/servers/manage/${server.serverId}/content`"
:to="`/hosting/manage/${server.serverId}/content`"
tabindex="-1"
class="flex flex-col gap-4 text-primary"
>
@@ -40,7 +40,7 @@
</span>
</nuxt-link>
<ButtonStyled>
<nuxt-link :to="`/servers/manage/${server.serverId}/content`">
<nuxt-link :to="`/hosting/manage/${server.serverId}/content`">
<LeftArrowIcon />
Back to server
</nuxt-link>
@@ -537,7 +537,7 @@ async function serverInstall(project) {
eraseDataOnInstall.value,
)
project.installed = true
navigateTo(`/servers/manage/${server.value.serverId}/options/loader`)
navigateTo(`/hosting/manage/${server.value.serverId}/options/loader`)
} else if (projectType.value.id === 'mod') {
await server.value.content.install('mod', version.project_id, version.id)
await server.value.refresh(['content'])

View File

@@ -17,7 +17,7 @@
<span class="font-bold text-primary">
<template v-if="charge.product?.metadata?.type === 'midas'"> Modrinth Plus </template>
<template v-else-if="charge.product?.metadata?.type === 'pyro'">
Modrinth Servers
Modrinth Hosting
</template>
<template v-else> Medal Server Trial </template>
<template v-if="charge.subscription_interval">

View File

@@ -2346,7 +2346,7 @@ pub async fn stripe_webhook(
.metadata
.is_pyro()
{
"Modrinth Servers"
"Modrinth Hosting"
} else {
"a Modrinth product"
}

View File

@@ -5,7 +5,7 @@
<template v-if="productType === 'midas'">Subscribe to Modrinth+!</template>
<template v-else-if="productType === 'pyro'">
<template v-if="existingSubscription"> Upgrade server plan </template>
<template v-else> Subscribe to Modrinth Servers! </template>
<template v-else> Subscribe to Modrinth Hosting! </template>
</template>
<template v-else>Purchase product</template>
</span>
@@ -143,7 +143,7 @@
Max Burst CPUs
<UnknownIcon
v-tooltip="
'CPU bursting allows your server to temporarily use additional threads to help mitigate TPS spikes. See Modrinth Servers FAQ for more info.'
'CPU bursting allows your server to temporarily use additional threads to help mitigate TPS spikes. See Modrinth Hosting FAQ for more info.'
"
class="h-4 w-4text-secondary opacity-60"
/>
@@ -292,7 +292,7 @@
<p class="my-2 text-lg font-bold text-primary">Purchase details</p>
<div class="mb-2 flex justify-between">
<span class="text-secondary">
{{ mutatedProduct.metadata.type === 'midas' ? 'Modrinth+' : 'Modrinth Servers' }}
{{ mutatedProduct.metadata.type === 'midas' ? 'Modrinth+' : 'Modrinth Hosting' }}
{{
existingPlan
? `(${dayjs(renewalDate).diff(dayjs(), 'days')} days prorated)`

View File

@@ -170,7 +170,7 @@ const messages = defineMessages({
},
regionUnsupported: {
id: 'servers.region.region-unsupported',
defaultMessage: `Region not listed? <link>Let us know where you'd like to see Modrinth Servers next!</link>`,
defaultMessage: `Region not listed? <link>Let us know where you'd like to see Modrinth Hosting next!</link>`,
},
customPrompt: {
id: 'servers.region.custom.prompt',

View File

@@ -295,10 +295,10 @@ function setInterval(newInterval: ServerBillingInterval) {
{
title:
isProratedCharge && prorationDays
? `Modrinth Servers (${planName}) prorated for ${prorationDays} day${
? `Modrinth Hosting (${planName}) prorated for ${prorationDays} day${
prorationDays === 1 ? '' : 's'
}`
: `Modrinth Servers (${planName})`,
: `Modrinth Hosting (${planName})`,
amount: total - tax,
},
{

View File

@@ -44,7 +44,7 @@ const sharedCpus = computed(() => {
`CPU bursting allows your server to temporarily use additional threads to help mitigate TPS spikes. Click for more info.`
"
class="flex"
to="https://modrinth.com/servers#cpu-burst"
to="https://modrinth.com/hosting#cpu-burst"
target="_blank"
@click="() => emit('click-bursting-link')"
>

View File

@@ -9,7 +9,7 @@
:customer="customer"
:payment-methods="paymentMethods"
:currency="selectedCurrency"
:return-url="`${props.siteUrl}/servers/manage`"
:return-url="`${props.siteUrl}/hosting/manage`"
:pings="regionPings"
:regions="regionsData"
:refresh-payment-methods="fetchPaymentData"

View File

@@ -82,9 +82,9 @@ const messages = defineMessages({
id: 'changelog.product.web',
defaultMessage: 'Website',
},
servers: {
id: 'changelog.product.servers',
defaultMessage: 'Servers',
hosting: {
id: 'changelog.product.hosting',
defaultMessage: 'Hosting',
},
app: {
id: 'changelog.product.app',

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
<template>
<div>
<NuxtLink :to="status === 'suspended' ? '' : `/servers/manage/${props.server_id}`">
<NuxtLink :to="status === 'suspended' ? '' : `/hosting/manage/${props.server_id}`">
<div
class="flex flex-row items-center overflow-x-hidden rounded-2xl border-[1px] border-solid border-button-bg bg-bg-raised p-4 transition-transform duration-100"
:class="{

View File

@@ -7,7 +7,7 @@
<GameIcon aria-hidden="true" class="size-5 shrink-0" />
<AutoLink
v-if="isLink"
:to="serverId ? `/servers/manage/${serverId}/options/loader` : ''"
:to="serverId ? `/hosting/manage/${serverId}/options/loader` : ''"
class="flex min-w-0 items-center truncate text-sm font-semibold"
:class="serverId ? 'hover:underline' : ''"
>

View File

@@ -6,7 +6,7 @@
<div v-else class="size-5 shrink-0 animate-pulse rounded-full bg-button-border"></div>
<AutoLink
v-if="isLink"
:to="serverId ? `/servers/manage/${serverId}/options/loader` : ''"
:to="serverId ? `/hosting/manage/${serverId}/options/loader` : ''"
class="flex min-w-0 items-center text-sm font-semibold"
:class="serverId ? 'hover:underline' : ''"
>

View File

@@ -8,7 +8,7 @@
>
<MedalBackgroundImage />
<AutoLink
:to="status === 'suspended' ? '' : `/servers/manage/${props.server_id}`"
:to="status === 'suspended' ? '' : `/hosting/manage/${props.server_id}`"
class="z-10 flex flex-grow flex-row items-center overflow-x-hidden"
:class="status !== 'suspended' && 'active:scale-95'"
>

View File

@@ -152,8 +152,8 @@
"changelog.product.app": {
"defaultMessage": "App"
},
"changelog.product.servers": {
"defaultMessage": "Servers"
"changelog.product.hosting": {
"defaultMessage": "Hosting"
},
"changelog.product.web": {
"defaultMessage": "Website"
@@ -930,7 +930,7 @@
"defaultMessage": "Where would you like your server to be located?"
},
"servers.region.region-unsupported": {
"defaultMessage": "Region not listed? <link>Let us know where you'd like to see Modrinth Servers next!</link>"
"defaultMessage": "Region not listed? <link>Let us know where you'd like to see Modrinth Hosting next!</link>"
},
"servers.region.southeast-asia": {
"defaultMessage": "Southeast Asia"

View File

@@ -30,8 +30,8 @@
on getting them back online.
</li>
<li>
If you recently purchased your Modrinth Server, it is currently in a queue and will
appear here as soon as it's ready. <br />
If you recently purchased your Modrinth Hosting server, it is currently in a queue and
will appear here as soon as it's ready. <br />
<span class="font-medium text-contrast"
>Do not attempt to purchase a new server.</span
>
@@ -96,9 +96,9 @@
"
/>
<h1 class="m-0 text-contrast">You don't have any servers yet!</h1>
<p class="m-0">Modrinth Servers is a new way to play modded Minecraft with your friends.</p>
<p class="m-0">Modrinth Hosting is a new way to play modded Minecraft with your friends.</p>
<ButtonStyled size="large" type="standard" color="brand">
<AutoLink to="/servers#plan">Create a Server</AutoLink>
<AutoLink to="/servers#plan">Create a server</AutoLink>
</ButtonStyled>
</div>

View File

@@ -1 +1 @@
export { default as ServersManagePageIndex } from './servers/manage/index.vue'
export { default as ServersManagePageIndex } from './hosting/manage/index.vue'

View File

@@ -1,6 +1,6 @@
import dayjs from 'dayjs'
export type Product = 'web' | 'servers' | 'api' | 'app'
export type Product = 'web' | 'hosting' | 'api' | 'app'
export type VersionEntry = {
date: dayjs.Dayjs
@@ -30,7 +30,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-11-14T12:15:00-08:00`,
product: 'servers',
product: 'hosting',
body: `## Improvements
- Improved the performance of the servers list.
- Fixed startup commands not being updated properly.
@@ -172,7 +172,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-10-14T18:45:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Removed 'Prepare download' step for downloading backups, you can now just download them directly.`,
},
@@ -258,7 +258,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-09-08T14:45:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed world seed being rounded in options.`,
},
@@ -338,7 +338,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-08-28T16:50:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed issue with Files page not showing files in the correct order sometimes.
- Fixed Medal servers showing a confusing cancellation/suspension notice.`,
@@ -360,7 +360,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-08-19T11:10:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Improved upgrading experience.`,
},
@@ -373,7 +373,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-08-18T09:10:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed various dropdowns not appearing.`,
},
@@ -456,7 +456,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-08-01T21:30:00-04:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Server status information is now correctly displayed in the 'My Servers' page. ([#4071](https://github.com/modrinth/code/pull/4071))
- Fixed an error with displaying startup settings.
@@ -510,19 +510,19 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-07-08T11:10:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Reapplied error handling improvements, with more improvements.`,
},
{
date: `2025-07-07T22:20:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed issue with Servers panel failing to load.`,
},
{
date: `2025-07-07T17:45:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Reverted error handling improvements.`,
},
@@ -604,7 +604,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-06-30T19:15:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Progress will now show when installing Modrinth Pack (.mrpack) files.
- Fixed storage stats not linking to Files page.
@@ -619,7 +619,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-06-26T11:00:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed support bubble overlapping notifications sometimes.
- Fixed race condition when creating backups.`,
@@ -643,21 +643,21 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-06-16T11:00:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Improved error handling.
- Rolled out hotfixes with the previous days' updates.'`,
},
{
date: `2025-06-15T16:25:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed installing modpacks from search.
- Fixed setting subdomains.`,
},
{
date: `2025-06-15T14:30:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed various issues with the panel loading improperly in certain cases.
- Fixed CPU icon being smaller than the rest.
@@ -674,7 +674,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-06-03T14:35:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Added support for servers in Europe.
- Added server setup for new servers upon opening the panel for the first time.`,
@@ -688,7 +688,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-05-08T09:00:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Added the ability to extract .zip files in the Files page.
- Added the ability to extract a remote .zip file from a URL, or from a CurseForge modpack version URL.
@@ -743,7 +743,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-04-28T19:45:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Added support for installing snapshot versions of Minecraft.
@@ -796,7 +796,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-04-17T02:25:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Completely overhauled the Backups interface and fixed them being non-functional.
- Backups will now show progress when creating and restoring.
@@ -808,7 +808,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-04-15T16:35:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Added ability to send surveys to customers in the panel via notices.
@@ -817,7 +817,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-04-12T22:10:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Added ability to notify customers in the panel with notices concerning their servers.`,
},
@@ -861,7 +861,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-03-24T22:30:00-07:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed server plugin loaders not being populated when browsing for plugins
- Fixed modpack search being filtered by Minecraft version when browsing for modpacks.`,
@@ -919,7 +919,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-02-25T10:20:00-08:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Fixed server upgrades being allowed when out of stock, despite warning.`,
},
@@ -960,7 +960,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-02-18T14:30:00-08:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Links will now be detected in console line viewer modal.
@@ -980,7 +980,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-02-16T19:10:00-08:00`,
product: 'servers',
product: 'hosting',
body: `### Improvements
- Check for availability before allowing a server upgrade.`,
},
@@ -992,7 +992,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-02-12T19:10:00-08:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Added server upgrades to switch to a larger plan as an option in billing settings.`,
},
@@ -1029,7 +1029,7 @@ const VERSIONS: VersionEntry[] = [
},
{
date: `2025-02-10T08:00:00-08:00`,
product: 'servers',
product: 'hosting',
version: `February Release`,
body: `### Added
- You can now search and filter through your server's console in the Overview tab, jump to specific results to see the log in context, select them, and copy them.
@@ -1080,7 +1080,7 @@ Contributed by [IMB11](https://github.com/modrinth/code/pull/1301).`,
},
{
date: `2025-01-10T09:00:00-08:00`,
product: 'servers',
product: 'hosting',
version: 'January Release',
body: `### Added
- Added drag & drop upload support for mod and plugin files on the content page.
@@ -1110,7 +1110,7 @@ Contributed by [IMB11](https://github.com/modrinth/code/pull/1301).`,
},
{
date: `2024-12-26T22:05:00-08:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Added ability for users to clean install modpacks when switching versions.
@@ -1159,7 +1159,7 @@ Contributed by [IMB11](https://github.com/modrinth/code/pull/1301).`,
},
{
date: `2024-12-21T16:00:00-08:00`,
product: 'servers',
product: 'hosting',
body: `### Added
- Drag and drop anything in the file manager.
- Added file upload queue status bar.
@@ -1180,7 +1180,7 @@ Contributed by [IMB11](https://github.com/modrinth/code/pull/1301).`,
},
{
date: `2024-12-11T22:18:45-08:00`,
product: 'servers',
product: 'hosting',
version: `December Release`,
body: `### Added
- Expanded loader support to include **Paper** and **Purpur** servers, offering fully native plugin compatibility.