Rework paper page for setup

This commit is contained in:
rtm516 committed 2025-01-10 19:11:37 +00:00
1 parent 8db8d9a01c
commit 382070b4e9
3 files changed
+122 -85

No files matched your search

+3 -12
View File
@@ -1,8 +1,7 @@
import type { HostingProvider, ProviderType } from "@site/src/types/providers";
import ReactMarkdown from "react-markdown";
import Admonition from '@theme/Admonition';
import React, { useState } from 'react';
import Translate, { translate } from "@docusaurus/Translate";
import { translate } from "@docusaurus/Translate";
import { providersData } from "../data/providers";
export const noP = (props: { children: any; }) => {
@@ -29,7 +28,7 @@ export const Provider = ({ type }) => {
)
}
export const ProviderSelector = () => {
export const ProviderSelector = ({setProvider}) => {
const providers: HostingProvider[] = [
...Object.values(providersData.built_in),
...Object.values(providersData.support),
@@ -51,6 +50,7 @@ export const ProviderSelector = () => {
const selectedName = event.target.value;
const provider = providers.find(p => p.name === selectedName);
setSelectedProvider(provider);
setProvider(provider);
}
return (
@@ -63,15 +63,6 @@ export const ProviderSelector = () => {
</option>
))}
</select>
<Admonition type="tip" title={<Translate id='components.provider.instructions'>Provider Instructions</Translate>}>
{selectedProvider ? (
<ReactMarkdown>{selectedProvider.description}</ReactMarkdown>
) : (
<p>
<Translate id='components.provider.select'>Select a provider to see specific installation instructions</Translate>
</p>
)}
</Admonition>
</div>
);
}
+64 -48
View File
@@ -4,60 +4,76 @@ page_sidebar: false
description: Guides to setup Geyser on all supported platforms
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import Admonition from '@theme/Admonition';
import Translate from "@docusaurus/Translate";
import ModdedServers from './setup/provider/modded-servers.mdx';
import ProxyServers from './setup/provider/proxy-servers.mdx';
import PaperSpigot from './setup/provider/paper-spigot.mdx';
import ModdedServers from '@site/wiki/geyser/setup/provider/modded-servers.mdx'
import ProxyServers from '@site/wiki/geyser/setup/provider/proxy-servers.mdx'
import PaperSpigot from '@site/wiki/geyser/setup/provider/paper-spigot.mdx'
import ModdedServersSelf from './setup/self/modded-servers.mdx';
import ProxyServersSelf from './setup/self/proxy-servers.mdx';
import PaperSpigotSelf from './setup/self/paper-spigot.mdx';
import ViaProxy from './setup/self/viaproxy.mdx';
import Standalone from './setup/self/standalone.mdx';
import ModdedServersSelf from '@site/wiki/geyser/setup/self/modded-servers.mdx'
import ProxyServersSelf from '@site/wiki/geyser/setup/self/proxy-servers.mdx'
import PaperSpigotSelf from '@site/wiki/geyser/setup/self/paper-spigot.mdx'
import ViaProxy from '@site/wiki/geyser/setup/self/viaproxy.mdx'
import Standalone from '@site/wiki/geyser/setup/self/standalone.mdx'
import PlatformIcon from '@site/src/components/PlatformIcon'
import ModIcon from '@site/static/img/icons/fabric.png';
import ProxyServersIcon from '@site/static/img/icons/velocity.png';
import PaperSpigotIcon from '@site/static/img/icons/paper.png';
import ViaProxyIcon from '@site/static/img/icons/viaproxy.png';
import StandaloneIcon from '@site/static/img/icons/geyser.png';
import ModIcon from '@site/static/img/icons/fabric.png'
import ProxyServersIcon from '@site/static/img/icons/velocity.png'
import PaperSpigotIcon from '@site/static/img/icons/paper.png'
import ViaProxyIcon from '@site/static/img/icons/viaproxy.png'
import StandaloneIcon from '@site/static/img/icons/geyser.png'
import { ProviderSelector } from "@site/src/components/Provider";
import { ProviderSelector } from '@site/src/components/Provider'
import { useState } from 'react'
<Tabs queryString="host" className="tabs-host-type">
<TabItem value="provider" label="Host Provider" default>
<ProviderSelector/>
<Tabs queryString="platform">
<TabItem value="paper-spigot" label={<PlatformIcon img={PaperSpigotIcon} text="Paper / Spigot"/>} default>
<PaperSpigot/>
export const SetupGuide = () => {
const [provider, setProvider] = useState(null)
return (
<Tabs queryString='host' className='tabs-host-type'>
<TabItem value='provider' label='Host Provider' default>
<ProviderSelector setProvider={setProvider} />
{provider ? (
<>
{provider.connect_instructions ? (
<Tabs queryString='platform'>
<TabItem value='paper-spigot' label={<PlatformIcon img={PaperSpigotIcon} text='Paper / Spigot' />} default>
<PaperSpigot provider={provider} />
</TabItem>
<TabItem value='modded-servers' label={<PlatformIcon img={ModIcon} text='Modded Servers' />}>
<ModdedServers />
</TabItem>
<TabItem value='proxy-servers' label={<PlatformIcon img={ProxyServersIcon} text='Proxy Servers' />}>
<ProxyServers />
</TabItem>
</Tabs>
) : (<Admonition type="warning" title={<Translate id='components.provider.no_support'>Not supported</Translate>}>{provider.warn}</Admonition>)}
</>
) : null}
</TabItem>
<TabItem value="modded-servers" label={<PlatformIcon img={ModIcon} text="Modded Servers"/>}>
<ModdedServers/>
</TabItem>
<TabItem value="proxy-servers" label={<PlatformIcon img={ProxyServersIcon} text="Proxy Servers"/>}>
<ProxyServers/>
<TabItem value='self' label='Self Host'>
<Tabs queryString='platform'>
<TabItem value='paper-spigot' label={<PlatformIcon img={PaperSpigotIcon} text='Paper / Spigot' />} default>
<PaperSpigotSelf />
</TabItem>
<TabItem value='modded-servers' label={<PlatformIcon img={ModIcon} text='Modded Servers' />}>
<ModdedServersSelf />
</TabItem>
<TabItem value='proxy-servers' label={<PlatformIcon img={ProxyServersIcon} text='Proxy Servers' />}>
<ProxyServersSelf />
</TabItem>
<TabItem value='viaproxy' label={<PlatformIcon img={ViaProxyIcon} text='ViaProxy' />}>
<ViaProxy />
</TabItem>
<TabItem value='standalone' label={<PlatformIcon img={StandaloneIcon} text='Standalone' />}>
<Standalone />
</TabItem>
</Tabs>
</TabItem>
</Tabs>
</TabItem>
<TabItem value="self" label="Self Host">
<Tabs queryString="platform">
<TabItem value="paper-spigot" label={<PlatformIcon img={PaperSpigotIcon} text="Paper / Spigot"/>} default>
<PaperSpigotSelf/>
</TabItem>
<TabItem value="modded-servers" label={<PlatformIcon img={ModIcon} text="Modded Servers"/>}>
<ModdedServersSelf/>
</TabItem>
<TabItem value="proxy-servers" label={<PlatformIcon img={ProxyServersIcon} text="Proxy Servers"/>}>
<ProxyServersSelf/>
</TabItem>
<TabItem value="viaproxy" label={<PlatformIcon img={ViaProxyIcon} text="ViaProxy"/>}>
<ViaProxy/>
</TabItem>
<TabItem value="standalone" label={<PlatformIcon img={StandaloneIcon} text="Standalone"/>}>
<Standalone/>
</TabItem>
</Tabs>
</TabItem>
</Tabs>
)
}
<SetupGuide />
+55 -25
View File
@@ -4,6 +4,8 @@ description: Learn how to set up Geyser on a Paper or Spigot server from a hosti
hide_title: true
---
import Admonition from '@theme/Admonition';
import { Versions } from '@site/src/components/Versions'
:::info
@@ -11,32 +13,60 @@ If your server is not running <Versions platform="java"/>, you will need to inst
See also [this page](/wiki/geyser/supported-versions/) on supported versions.
:::
1. Select your server hosting provider in the dropdown above.
2. Download the plugin from [the download page](/download).
3. Place the Geyser-Spigot.jar in the `plugins` folder, and restart the server.
4. Open your Geyser config, located in `/plugins/Geyser-Spigot/config.yml`, and find the following:
{props.provider.warn ? <Admonition type="warning" title='Warn'>{props.provider.warn}</Admonition> : null}
```yaml
bedrock:
# The IP address that will listen for connections.
# Generally, you should only uncomment and change this if you want to limit what IPs can connect to your server.
#address: 0.0.0.0
# The port that will listen for connections. This is the port that Bedrock players will use to connect to your server.
port: 19132
<h3>Install:</h3>
{props.provider.custom_install_location ? props.provider.custom_install_location : (
<ol>
<li>Download the plugin from [the download page](/download).</li>
<li>Place the Geyser-Spigot.jar in the `plugins` folder, and restart the server.</li>
</ol>
)}
<br />
# Some hosting services change your Java port everytime you start the server and require the same port to be used for Bedrock.
# This option makes the Bedrock port the same as the Java port every time you start the server.
# This option is for the plugin version only.
clone-remote-port: false
```
The vital part is the port. This is the port that Bedrock players will use to connect to your server.
Follow the instructions in the provider selector - change the port, and if necessary, `clone-remote-port` & `address`.
If `clone-remote-port` is enabled, the bedrock port will be overwritten with the Java port!
**Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
5. Verify whether connections are possible by running `geyser connectiontest <ip> <port>` in the console.
{props.provider.config ? (
<>
<h3>Make the following config changes:</h3>
Open your Geyser config, located in `/plugins/Geyser-Spigot/config.yml`
<ul>
{props.provider.config.address ? <li>Change the `address` to `{props.provider.config.address}`</li> : null}
{props.provider.config.port ? <li>Change the `port` to `{props.provider.config.port}`</li> : null}
{props.provider.config.clone_remote_port ? <li>Change `clone-remote-port` to `{props.provider.config.clone_remote_port}`</li> : null}
{props.provider.config.port_instruction ? <li>{props.provider.config.port_instruction}</li> : null}
{props.provider.config.address_instruction ? <li>{props.provider.config.address_instruction}</li> : null}
{props.provider.config.other_instructions ? <li>{props.provider.config.other_instructions}</li> : null}
</ul>
</>
) : null}
:::info
To allow Bedrock Edition players to join your server without needing to log in to a paid Java Edition account, you can use <a href="/wiki/floodgate/setup/">Floodgate</a>.
:::
{props.provider.additional_step ? (
<>
<h3>Additional Steps:</h3>
{props.provider.additional_step}
<br />
</>
) : null}
{props.provider.connect_instructions ? (
<b>
{props.provider.connect_instructions}
<br />
<br />
</b>
) : (<div>Nope</div>)}
{props.provider.info ? <Admonition type="info" title='Info'>{props.provider.info}</Admonition> : null}
{props.provider.hosting_article || props.provider.hosting_support ? (
<>
<h4>More Information:</h4>
<ul>
{props.provider.hosting_article ? (<li><a href={props.provider.hosting_article} target='_blank'>Hosting provider article</a></li>) : null}
{props.provider.hosting_support ? (<li><a href={props.provider.hosting_support} target='_blank'>Hosting provider support</a></li>) : null}
</ul>
</>
) : null}