You've already forked AstralRinth
forked from didirus/AstralRinth
Modrinth Hosting rebrand (#4846)
* Modrinth Hosting rebranding * fix capitalization issue * fix issues
This commit is contained in:
@@ -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(() => {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
@@ -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',
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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'])
|
||||
|
||||
|
||||
@@ -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'"
|
||||
>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.',
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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',
|
||||
}),
|
||||
),
|
||||
},
|
||||
|
||||
@@ -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>"
|
||||
|
||||
6
apps/frontend/src/middleware/hosting-redirect.global.ts
Normal file
6
apps/frontend/src/middleware/hosting-redirect.global.ts
Normal 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 })
|
||||
}
|
||||
})
|
||||
@@ -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',
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
"
|
||||
>
|
||||
<nuxt-link
|
||||
:to="`/servers/manage/${subscription.metadata.id}`"
|
||||
:to="`/hosting/manage/${subscription.metadata.id}`"
|
||||
target="_blank"
|
||||
class="w-fit"
|
||||
>
|
||||
|
||||
@@ -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 />
|
||||
|
||||
@@ -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.'
|
||||
|
||||
@@ -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 },
|
||||
})
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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',
|
||||
|
||||
@@ -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'])
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user