import { Howl } from 'howler'; import { cn } from "@nestri/ui/design"; import { Link, routeLoader$ } from "@builder.io/qwik-city"; import { Footer, Book, CONSTANTS } from "@nestri/ui" import { TitleSection, MotionComponent, transition } from "@nestri/ui/react"; import { $, component$, noSerialize, type NoSerialize, useSignal, useVisibleTask$ } from "@builder.io/qwik"; // import { createClient } from '@openauthjs/openauth/client'; //FIXME: Add a FAQ section // FIXME: Takes too long for the price input radio input to become responsive const w = 280 const two = (.25 * w) + 14 const three = .5 * w const four = (.75 * w) - 14 const five = w - 28 const convertToCss = (value: any) => { switch (value) { case 1: return 28 case 2: return two case 3: return three case 4: return four case 5: return five default: return three; } } const convertToPrice = (value: any) => { switch (value) { case 1: return [1, 5] case 2: return [2, 0] case 3: return [2, 5] case 4: return [3, 5] case 5: return [5, 0] default: return [2, 5]; } } const convertToTitle = (value: any) => { switch (value) { case 1: return "No sweat. Pay what you can\n and enjoy Nestri" case 2: return "You've got a deal" case 3: return "Choose what feels right" case 4: return "Our hero. We see you!\n We thank you" case 5: return "Omg! You have no idea\n how much your support\n means to us" default: return "Choose what feels right"; } } // export const useLink = routeLoader$(async (ev) => { // const client = createClient({ // clientID: "www", // issuer: "https://auth.nestri.io" // }) // const { url } = await client.authorize(ev.url.origin + "/callback", "code") // return url // }) export const useLink = routeLoader$(async ({ sharedMap }) => { const url = sharedMap.get("auth_url") as string return url }) export default component$(() => { const loginUrl = useLink() // { value: "/" }// const priceValue = useSignal(3) const docsLinkRef = useSignal() const bookRef = useSignal() const audio = useSignal | undefined>() // eslint-disable-next-line qwik/no-use-visible-task useVisibleTask$(() => { audio.value = noSerialize(new Howl({ src: ["/audio/click.wav"] })) docsLinkRef.value?.addEventListener("mouseenter", () => { bookRef.value?.classList.add('flip') }) docsLinkRef.value?.addEventListener("mouseleave", () => { bookRef.value?.classList.remove('flip') }) return () => { docsLinkRef.value?.removeEventListener("mouseenter", () => { bookRef.value?.classList.add('flip') }) docsLinkRef.value?.removeEventListener("mouseleave", () => { bookRef.value?.classList.remove('flip') }) } }) const onClick = $((v: any) => { priceValue.value = Number(v.target?.value) as number; audio.value?.play() }) return (
Join our Discord
Terms of Service Privacy Policy
) }) /** *

Individual

Perfect for casual gamers and those new to Nestri. Dive into self-hosted gaming without spending a dime.

Single user

1080p video stream

Community support

Install on a single rig

Shared single region relay

50GB bandwidth limit per month 2

Public parties only

Limited API access

No parental controls 1

Basic analytics 1

Unlimited cloud saves 1

Unlimited state shares 1

Game mod support 1

Stream to Youtube/Twitch 1

docsLinkRef.value = v} class="my-4 bg-white dark:bg-black focus:ring-primary-500 hover:ring-primary-500 ring-gray-500 rounded-lg outline-none dark:text-gray-100/70 ring-2 text-sm h-max py-2 px-4 flex items-center transition-all duration-200 focus:bg-primary-100 focus:dark:bg-primary-900 focus:text-primary-500 text-gray-500 font-title font-bold justify-between"> Read the Docs

Pro

Ideal for dedicated gamers who crave more flexibility and social gaming experiences.

$ {new Array(2).fill(0).map((_, key) => { const [digitOne, digitTwo] = convertToPrice(priceValue.value) return (
9
0
1
2
3
4
5
6
7
8
9
0
) })}
/month
{new Array(5).fill(0).map((_, key) => (
= key + 1 ? "bg-gray-500" : "bg-gray-400 dark:bg-gray-600")} /> ))}

{convertToTitle(priceValue.value)}


Upto 5 users

4k video stream 1

Priority support

Install on multiple rigs

Dedicated multi-region relays

Unlimited bandwidth

Public & private parties 1

API access

Parental controls 1

Advanced analytics 1

Unlimited cloud saves 1

Unlimited state shares 1

Game mod support 1

Stream to Youtube/Twitch 1

Get Nestri Pro
1 Feature is in development
2 Approximately 33 hours of 1080p streaming

Enterprise

Looking for something else? Use Nestri as your own on our servers or yours. Flexible licensing and white-glove onboarding included.

Contact Sales
Organization Account · Security Restrictions · Custom Parties · Single Sign On · Advanced Integrations · Additional APIs · Custom-Built Features · Organization Account · Security Restrictions · Custom Parties · Single Sign On · Advanced Integrations · Additional APIs · Custom-Built Features ·
*/