Remove old jekyll files

Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
This commit is contained in:
Joshua Castle committed 2024-01-28 17:12:33 -08:00
1 parent 5eeb3fdd19
commit c7d747df86
26 files changed
-1436

No files matched your search

-38
View File
@@ -1,38 +0,0 @@
# General site settings
title: GeyserMC Wiki
author: GeyserMC
description: >-
This is the wiki for all of GeyserMC's projects.
# Url settings
baseurl: ""
url: "https://wiki.geysermc.org"
# Repository settings
repo: "https://github.com/GeyserMC/GeyserWiki"
# Build settings
markdown: kramdown
highlighter: rouge
exclude: [_site, LICENSE, README.md]
# Collections
collections:
docs:
output: true
permalink: /:path/
# Front Matter Defaults
defaults:
- scope:
path: "_docs"
type: "docs"
values:
layout: page
- scope:
path: ""
type: "pages"
values:
layout: default
-205
View File
@@ -1,205 +0,0 @@
- title: Frequently Asked Questions
desc: |
Here you can find answers to frequently asked questions about Geyser - if you have a question that isn't answered here, feel free to ask in our [Discord](https://discord.gg/GeyserMC)!
items:
- title: How Does it Work?
content: |
Geyser works as a translator, translating both the incoming and outgoing packets to a format both the client and server can understand. With this being said, it emulates a Minecraft: Java Edition client, so the server actually thinks you're joining from Java Edition. Regardless of the server or what plugins it has installed, you can join it with Geyser (as long as the server supports the latest vanilla (unmodified) Minecraft version).
- title: So, how does Redstone work?
content: |
Redstone, along with any other mechanics like commands, farms, etc., will work exactly like Java Edition since joining a Java Edition server and Geyser does not modify server behavior.
- title: Is Geyser paid?
content: |
No, Geyser and all related projects are completely free and open-source, licensed under the MIT license.
- title: What plugins don't work with Geyser?
content: |
Geyser should generally work fine with plugins, as we emulate a Java client. There are exceptions, though:
* [TCPShield](https://tcpshield.com/) requires `only-allow-proxy-connections` disabled without a paid plan. However, their "Premium" plan will allow the support of Geyser - please see [here](https://docs.tcpshield.com/miscellaneous/geyser) for setup instructions.
Floodgate can cause issues with plugins as it modifies the login process. *Please note that any offline mode authenticator plugins are only here for documentation; Geyser does not support offline mode usage.*
* [DynamicBungeeAuth](https://www.spigotmc.org/resources/27480/) Currently working on latest version 10.28B+ (10.27B and older versions produces invalid credentials for Bedrock players)
* [FastLogin](https://www.spigotmc.org/resources/14153/) does not let floodgate add player prefix.
* [ExploitFixer](https://www.spigotmc.org/resources/62842/) thinks that Floodgate users are UUID spoofing - disable the `uuidspoof` setting in ExploitFixer's config.
* [JPremium](https://www.spigotmc.org/resources/27766/) alters the UUID of a player, causing Floodgate not to be able to get the Bedrock data from its map.
* [LibHatesMods](https://www.spigotmc.org/resources/78202/) causes authentication to fail with `com.github.steveice10.mc.auth.exception.request.InvalidCredentialsException`
* [ProtocolSupport](https://www.spigotmc.org/resources/7201/) ~~is currently incompatible with Floodgate.~~ Works with Floodgate, but we recommend using [ViaBackwards](https://www.spigotmc.org/resources/27448/) instead.
* [ProtocolSupportBungee](https://www.spigotmc.org/resources/8733/) changes how the login process works and therefore breaks the Floodgate injection code.
* [SayNoToMcLeaks](https://www.spigotmc.org/resources/40906/) prevents Floodgate from finishing its login system.
If you come across any more, please let us know via [Discord](https://discord.gg/geysermc).
- title: What server versions does Geyser support?
content: |
The Geyser-Spigot plugin supports any Minecraft server version 1.16.5 or later. Any earlier version is not supported by the plugin - use a proxy version or the standalone build instead.
Since Geyser emulates a {{ site.data.versions.java }} Java Edition client, you need to [install ViaVersion](https://www.spigotmc.org/resources/viaversion.19254/) on your server
if it is not running the latest version of Minecraft.
In order for Bedrock players to chat (1.19.3+) or join (1.19.1/1.19.2), you need to disable chat signing. More information about that can be read on the [chat signing page](/geyser/secure-chat/).
You will also need to run at least Java 17 or later to use Geyser. See [here](https://docs.papermc.io/misc/java-install) for more info on updating Java.
Paper versions not supporting Java 17 can add `-DPaper.IgnoreJavaVersion=true` flag to the Java startup arguments to allow Paper to run on Java 17.
- title: Which plugin version of Geyser do I need?
content: |
This is a non-complete list of what platform each plugin version of Geyser is for, and the standalone version can be used for any as it isn't a plugin.
* Geyser-Spigot works with:
* [Spigot](https://www.spigotmc.org/)
* [Paper](https://papermc.io/downloads/paper) (recommended)
* Any other forks of the above
* Geyser-Bungee works with:
* [BungeeCord](https://www.spigotmc.org/wiki/bungeecord/)
* [Waterfall](https://papermc.io/downloads/Waterfall)
* Any other forks of the above
* Geyser-Velocity works with [Velocity](https://www.velocitypowered.com/)
* Geyser-Fabric works with [Fabric](https://www.fabricmc.net/), and requires FabricAPI to be installed on the server as well.
- title: Which type of Geyser version is better, standalone or plugin?
content: |
Because of optimizations that hook into the plugin platforms, plugin versions of Geyser are preferable compared to standalone Geyser. On Spigot, Velocity, and BungeeCord versions of Geyser, direct connections allow for faster loading times, lower latency, and accurate IP addresses without requiring Floodgate. Geyser-Spigot has further optimizations due to having direct world access, including lower memory usage and greater translation accuracy. However, large server networks might prefer standalone Geyser because it can be updated without needing to restart any other proxies or servers, and can offload resource usage onto seperate machines.
- title: If using BungeeCord or another fork, where do I need to put Geyser/Floodgate?
content: |
You only need Geyser and/or Floodgate on the BungeeCord server, as long as not using the Floodgate API. In this case, Floodgate is needed on the "backend" servers as well.
- title: What IP do I need to give Bedrock players?
content: |
Generally, the IP that Bedrock players will join with is your Java IP and the defined port in your Geyser config in the `bedrock` section under `port`. For example, if the IP address Java players join with is `test.geysermc.org`, and the `bedrock` `port` is set as 19132, Bedrock players should join with the IP `test.geysermc.org` and port `19132`.
- title: How can I have Bedrock players load resource packs?
content: |
You can add Bedrock resource packs to your Geyser installation in the `packs` folder of wherever the Geyser config is located. Bedrock clients will automatically download and load those resource packs. There is currently no automatic Java-to-Bedrock resource pack conversion, but you can convert any Java resource pack to Bedrock using [this tool](https://rtm516.github.io/ConvertJavaTextureToBedrock/) and add that to your server. The converter currently only works with packs up until 1.17; you will need to use another converter, or, [convert the pack yourself](https://learn.microsoft.com/en-us/minecraft/creator/documents/convertingtexturepacks).
- title: How can Bedrock players hold items in their offhand?
content: |
You can use the command `/geyser offhand`, which will swap the item in their main hand and offhand. There is also a setting you can enable in the config (`emote-offhand-workaround`) to allow Bedrock players to perform an emote in order to switch their main hand and offhand.
- title: How do I include players in commands when using Floodgate?
content: |
If there is a prefix on Floodgate players, you must include the prefix in the name. Floodgate also replaces all spaces in names with underscores, so be sure to replace any spaces with underscores when executing the command. If this does not work, put double quotes around the name.
Example: `/tp ".<bedrock_username>"`
- title: How do I add players to the whitelist when using Floodgate?
content: |
There are three ways you can do this.
1. Use Floodgate’s built-in whitelist command: `/fwhitelist add <bedrock_username>`. This will only work if the player has joined any Geyser server already.
2. Turn off the whitelist using `/whitelist off`, then get the Geyser player to join. After that, run `/whitelist add ".<bedrock_username>"`, and finally, turn the whitelist back on using `/whitelist on`.
When using Local Linking: If you're linking a Bedrock account to an existing whitelisted Java account, you don't need to whitelist the Bedrock account separately. You can link the accounts and immediately turn the whitelist back on.
3. Add the player’s UUID, as given by Floodgate, to the `whitelist.json` file. Then, run `/whitelist reload` to update the whitelist.
Choose the method that suits your preferences and server setup.
- title: How do I find a player's UUID without them joining when using Floodgate?
content: |
Use [this page.](https://uuid.kejona.dev/) If this doesn't work, then try this method:
First, you'll need to get the XUID of the player. There are several third-party websites to find this, for example, [this one](https://cxkes.me/xbox/xuid) (unaffiliated with Geyser). Make sure to choose "Hexidecimal." You'll need to enter the player's Xbox Gamertag, and, once submitted, it should display the XUID in the format of `xxxxxxxxxxxxxxxx`. To turn the XUID into a UUID that Java Edition can recognize, you need to put the XUID in this format: `00000000-0000-0000-xxxx-xxxxxxxxxxxx`. If formatted right, Java Edition should accept it as a UUID.
- title: Can I remove the prefix of Floodgate players?
content: |
While you can remove the prefix, it is generally recommended not to remove the prefix to prevent situations where player usernames are the same on both editions (Ex: Bedrock Username: `JohnDoe`, Java Username: `JohnDoe`). While they have different UUIDs, they have the same username, which may cause conflicts with commands that involve a player name. If you want to remove the prefix to use commands, Try adding quotation marks around the name. Example: `/tp ".<bedrock_username>"` Otherwise, the prefix is located in the Floodgate `config.yml` under `username-prefix:`.
- title: Do I need Floodgate in order to use Geyser?
content: |
No; Floodgate is only required if you wish to allow Bedrock clients to join without authenticating to Java servers. Without the Floodgate plugin, Geyser can either authenticate to Mojang in online mode, or join without authentication in an offline mode server (though this is unsupportable and dangerous as anyone can join your server and is against Mojang's EULA).
- title: Sometimes, when I go really far out, the world starts to experience very odd visual bugs...
content: |
This is a Bedrock client issue caused by Bedrock being 32-bit and Java being 64-bit. For more information read [here](https://minecraft.wiki/w/Bedrock_Edition_distance_effects).
- title: Can I use Geyser to allow Java players to connect to my Bedrock server?
content: |
No, this is a translation tool to allow Bedrock players to connect to Java servers. It does not work the opposite way.
- title: Can I use Geyser with Pterodactyl Panel?
content: |
Yes, you can use Geyser as a plugin or a mod for your Minecraft server software running on Pterodactyl. There is also an official egg for the standalone version. It supports auto-updating and has all config options easily editable. You can find it [here](https://github.com/GeyserMC/pterodactyl-stuff), download the JSON egg, and import it into your panel. Make sure the Geyser port (using UDP) is exported out to the host & allocated the port to the server.
- title: Can I use Geyser with Ngrok?
content: |
Unfortunately, Ngrok is TCP-only, so you will not be able to use Geyser with Ngrok. As an alternative, you can use [playit.gg](https://playit.gg), which supports both TCP and UDP.
- title: How do I setup Cosmic Guard?
content: |
1. You will need access to the host systems terminal. Note: This guide is for Linux systems only!
2. Setup a "Guard" select gaming then Minecraft: Bedrock edition.
3. Click setup for linux and run the guardian installer and start the service.
4. Run "guardian status" and take note of the "Local IP" it starts with "10.31.x.x".
5. Go to the Geyser config.yml and update the Bedrock address to the Local IP which you found above.
6. Restart the mc server and test it out, it should work for both Java and Bedrock.
- title: Can I connect Geyser to an older server?
content: |
If the server has ViaVersion and/or supports the latest Minecraft version, yes. However, we are unable to support older versions of Minecraft due to a limitation in our Java support library.
- title: Can I connect Geyser to a modded (Forge/Fabric) server?
content: |
The short answer: if a vanilla client can join the server, then so can Geyser.
The long answer: currently, there is no way for Geyser to translate the features that most mods add (blocks, items, etc.). Therefore, servers that require mods to be installed clientside are unsupportable through Geyser.
- title: How can I auto-update Geyser?
content: |
GeyserUpdater ([GitHub page](https://github.com/kejonaMC/GeyserUpdater)/[Spigot page](https://www.spigotmc.org/resources/88555/)) is a Spigot/BungeeCord plugin option for auto-updating. Please note that this plugin is also unaffiliated and unsupported by Geyser, and users should redirect support for the plugin to its [Discord](https://discord.gg/U5MC2tcCz9).
- title: How can I make DiscordSRV show Floodgate 2.0 or GeyserSkinManager skins?
content: |
Replace the `AvatarUrl` line in your DiscordSRV config with this: `AvatarUrl: https://mc-heads.net/avatar/{texture}/{size}.png`
Note: you need to be running DiscordSRV v1.22.0 or newer. Floodgate 2.0 or GeyserSkinRestorer is still required for skins to show up for Java players and for this to work.
Alternatively, if you cannot get the above AvatarUrl to work with DiscordSRV, or you'd like to use it with another plugin that does not support texture ids, you can use the [TydiumCraft Skin API.](https://tydiumcraft.net/docs/skinapi)
- title: Can I use Buycraft (Tebex) with Geyser?
content: |
You sure can! Buycraft supports Java & Bedrock players via the Offline store mode **(Recommended to be used with Floodgate)**
**(Currently, Buycraft does not support special symbols like `*` or `-`, so you'll have to change the Floodgate prefix to `_` or remove it entirely.)**
### Steps to create a store to support both versions
- Buycraft-> Create Webstore
- Select Game-> Minecraft Offline
- Continue-> Click "Create my Webstore"
- Name your server & Select currency-> Continue
- Select Game Server-> Continue
- Download the plugin version that best suits your server.
- Execute the secret command from your server's console
Your store is now set up to support Bedrock & Java players.
**(Please note, if you are using a prefix with Floodgate, Bedrock players will have to enter the prefix.)**
- title: Can I use CraftingStore with Geyser?
content: |
You sure can! Buycraft supports Java & Bedrock players via the Offline store mode **(Recommended to be used with Floodgate)**
**(Currently, Buycraft does not support special symbols like `*` or `-`, so you'll have to change the Floodgate prefix to `_` or remove it entirely.)**
### Steps to create a store to support both versions
- Buycraft-> Create Webstore
- Select Game-> Minecraft Offline
- Continue-> Click "Create my Webstore"
- Name your server & Select currency-> Continue
- Select Game Server-> Continue
- Download the plugin version that best suits your server.
- Execute the secret command from your server's console
Your store is now set up to support Bedrock & Java players.
**(Please note, if you are using a prefix with Floodgate, Bedrock players will have to enter the prefix.)**
- title: Questions not related to gameplay
items:
- title: What is the relationship between CubeCraft and Geyser?
content: |
Redned started Geyser in July 2019. In May 2020, CubeCraft acquired the GeyserMC brand. This means that they govern the project (though at this time, they govern lightly). CubeCraft does not own the code of Geyser.
- title: Does CubeCraft use Geyser?
content: |
No
-129
View File
@@ -1,129 +0,0 @@
- title: Geyser Documentation
url: "geyser/"
links:
- title: Setting up Geyser
url: "geyser/setup/"
children:
- title: Supported Hosting Providers
url: "geyser/supported-hosting-providers/"
- title: Using Geyser with Consoles
url: "geyser/using-geyser-with-consoles/"
- title: Using playit.gg with Geyser
url: "geyser/playit-gg/"
- title: Creating a Startup Script
url: "geyser/creating-a-startup-script/"
- title: Common Issues
url: "geyser/common-issues/"
children:
- title: Fixing 'Unable to Connect to World'
url: "geyser/fixing-unable-to-connect-to-world/"
- title: Configuring Geyser
url: "geyser/understanding-the-config/"
children:
- title: Commands
url: "geyser/commands/"
- title: Languages and Translations
url: "geyser/translations/"
- title: Geyser Command Line Arguments and System Properties
url: "geyser/geyser-command-line-arguments-and-system-properties/"
- title: FAQ
url: "geyser/faq/"
children:
- title: Anticheat Compatibility
url: "geyser/anticheat-compatibility/"
- title: Current Limitations
url: "geyser/current-limitations/"
- title: Custom items with Geyser
url: "geyser/custom-items/"
children:
- title: JSON mappings
url: "geyser/custom-items/#json-mappings"
- title: Geyser extensions
url: "geyser/custom-items/#geyser-extensions"
- title: Resource pack
url: "geyser/custom-items/#resource-pack"
- title: Custom blocks with Geyser
url: "geyser/custom-blocks/"
children:
- title: Enabling custom blocks
url: "geyser/custom-blocks/#enabling-custom-blocks"
- title: JSON mappings
url: "geyser/custom-blocks/#json-mappings"
- title: Geyser extensions
url: "geyser/custom-blocks/#geyser-extensions"
- title: Custom skulls with Geyser
url: "geyser/custom-skulls/"
children:
- title: Enabling custom skulls
url: "geyser/custom-skulls/#enabling-custom-skulls"
- title: custom-skulls.yml
url: "geyser/custom-skulls/#custom-skullsyml"
- title: Geyser API
url: "geyser/api/"
children:
- title: Getting Started
url: "geyser/getting-started-with-the-api/"
- title: Overview
url: "geyser/api/#short-overview-of-the-geyser-api"
- title: Events
url: "geyser/events/"
- title: Forms and Cumulus
url: "geyser/forms/"
- title: Geyser Extensions
url: "geyser/extensions/"
children:
- title: Main class
url: "geyser/extensions/#creating-the-main-class"
- title: Creating Commands
url: "geyser/extensions/#creating-commands-with-geyser-extensions"
- title: Global API
url: "geyser/global-api/"
- title: Floodgate Documentation
url: "floodgate/"
links:
- title: "Setup"
url: "floodgate/setup/"
- title: "Issues"
url: "floodgate/issues/"
- title: "FAQ"
url: "floodgate/faq/"
- title: "Features"
url: "floodgate/features/"
children:
- title: Whitelist command
url: "floodgate/features/#whitelist-command"
- title: "Commands"
url: "floodgate/commands/"
- title: Skin Uploading
url: "floodgate/features/#what-is-skin-uploading"
- title: "Floodgate API"
url: "floodgate/api/"
children:
- title: "FloodgatePlayer"
url: "floodgate/player/"
- title: "Forms and Cumulus"
url: "geyser/forms/"
- title: "Linking"
url: "floodgate/linking/"
children:
- title: Global Linking
url: "floodgate/linking/#what-is-global-linking"
- title: Local Linking
url: "floodgate/linking/#local-linking"
- title: Other
url: "other/"
links:
- title: "GeyserOptionalPack"
url: "other/geyseroptionalpack/"
- title: "Hurricane"
url: "other/hurricane/"
- title: "GeyserConnect"
url: "other/geyserconnect/"
- title: "Community Geyser Projects"
url: "other/community-geyser-projects/"
- title: "Test Server"
url: "other/test-server/"
- title: "Developer Guide"
url: "other/developer-guide/"
- title: "Geyser Discord Bot Usage"
url: "other/discord-bot-usage/"
-31
View File
@@ -1,31 +0,0 @@
{% assign all_providers = site.data.providers.support | concat: site.data.providers.built_in | sort: 'name' %}
<div class="mb-4">
<select id="provider-select" class="form-select" onchange="selectProvider()">
<option value="">Select a provider</option>
<option value="Not listed">Not listed</option>
{% for provider in all_providers %}
{% assign urlParts = provider.url | split: "/" %}
<option value="{{ provider.name }}">{{ provider.name }} - {{ urlParts[2] | remove_first: "www." }}</option>
{% endfor %}
</select>
<div id="search-result" class="mt-2"></div>
</div>
<script>
window.provider_data = {
"Not listed": {{ "If your hosting provider is not listed, try enabling the `clone-remote-port` option in the config. Then, restart the server, and try connecting with the same IP and port as on Java Edition. If this does not work, ask your server hosting provider for a UDP port, and use that. For VPS/KVM servers please follow the self-hosting steps." | markdownify | jsonify }},
{% for provider in all_providers %}
"{{ provider.name }}": {{ site.data.providers.description_templates[provider.description_template] | append: " " | append: provider.description | markdownify | strip | jsonify }},
{% endfor %}
}
function selectProvider() {
var provider = document.getElementById("provider-select").value
showSearchResult(provider)
}
function showSearchResult(provider) {
var searchResultContainer = document.querySelector("#search-result")
searchResultContainer.innerHTML = provider in window.provider_data ? '<div class="alert alert-info no-p-margin mb-0" role="alert">' + window.provider_data[provider] + '</div>' : ""
}
</script>
@@ -1,11 +0,0 @@
# Floodgate-Fabric setup
1. Download Floodgate-Fabric from the [modrinth page](https://modrinth.com/mod/floodgate).
2. Place the Floodgate-Fabric.jar in the `mods` folder, and restart the server. **You also need [FabricAPI](https://modrinth.com/mod/fabric-api) installed.**
3. Change `auth-type` in Geyser's config to `floodgate`.
4. Restart the server.
**Note for Fabric behind a Velocity proxy:**
You will need to configure FabricProxyLite to allow the Fabric server to receive data from Velocity.
@@ -1,27 +0,0 @@
# Floodgate setup on a BungeeCord/Velocity proxy
<div class="alert alert-info" role="alert">
You only need to install Floodgate on the BungeeCord or Velocity proxy server, unless you want to use the Floodgate API on the backend servers.
Additionally, it will display Bedrock edition skins properly.
</div>
1. Download Floodgate for your proxy software from the [download page](https://geysermc.org/download).
2. Place the Floodgate jar in the `plugins` folder, and restart the proxy server.
3. Change `auth-type` in Geyser's config to `floodgate`.
4. Restart the server.
## Installing Floodgate on servers behind the proxy
This is only needed when you want to use the Floodgate API on your backend server(s) behind a proxy.
1. After installing Floodgate on the proxy, install Floodgate on the backend servers (either Floodgate-Spigot, or Floodgate-Fabric).
2. Enable `ip_forward` in your BungeeCord `config.yml` if using BungeeCord. For Velocity, set up [player information forwarding](https://docs.papermc.io/velocity/player-information-forwarding).
3. Set `bungeecord` to `true` in your spigot.yml. When using Velocity, see their guide, as they have multiple options that require different setups.
4. Start the proxy server.
5. Edit the Floodgate config on your proxy server and set `send-floodgate-data` to `true`.
6. Copy the `key.pem` file in the proxy Floodgate config folder to all backend servers’ Floodgate config folder.
7. Restart the backend servers and proxy server.
<div class="alert alert-warning" role="alert">
DO NOT DISTRIBUTE THIS KEY TO ANYBODY! This key is what allows for Bedrock accounts to bypass the Java Edition authentication, and if anyone gets ahold of this, they can wreak havoc on your server.
</div>
@@ -1,6 +0,0 @@
# Floodgate-Spigot setup
1. Download Floodgate-Spigot from the [download page](https://download.geysermc.org/v2/projects/floodgate/versions/latest/builds/latest/downloads/spigot).
2. Place the Floodgate-Spigot.jar in the `plugins` folder, and restart the server.
3. Change `auth-type` in Geyser's config to `floodgate`.
4. Restart the server.
@@ -1,15 +0,0 @@
# Floodgate setup with Geyser-Standalone
<div class="alert alert-info" role="alert">
To be able to use Floodgate authentication, you need to be able to install Floodgate on the Java server you are connecting to.
</div>
1. Download and install the platform-specific Floodgate jar (e.g. floodgate-spigot, or floodgate-fabric) [here](https://geysermc.org/download).
See the platform setup instructions for a detailed, platform specific setup guide. Then, continue with the instructions below.
2. Change `auth-type` in Geyser Standalone's config to `floodgate`.
3. Copy the `key.pem` file in the Floodgate config folder to the same directory as Geyser Standalone.
4. Restart Geyser-Standalone.
<div class="alert alert-warning" role="alert">
DO NOT DISTRIBUTE THIS KEY TO ANYBODY! This key is what allows for Bedrock accounts to bypass the Java Edition authentication, and if anyone gets ahold of this, they can wreak havoc on your server.
</div>
@@ -1,37 +0,0 @@
# Fabric setup with server hosting provider
<div class="alert alert-warning" role="alert">
Geyser-Fabric runs <b>only</b> on a {{ site.data.versions.java }} Fabric server.
To use Geyser on an older Fabric server, you can use Geyser on a BungeeCord/Velocity proxy, or Geyser Standalone instead.
</div>
1. Select your server hosting provider in the dropdown above.
2. Download the mod from [the download page](https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/fabric).
3. Place the Geyser-Fabric.jar in the `mods` folder, and restart the server. **You also need [FabricAPI](https://modrinth.com/mod/fabric-api).**
4. Open your Geyser config, located in `/config/Geyser-Fabric/config.yml`, and find the following:
```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
# 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/mods 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.
<div class="alert alert-info" role="alert">
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="/floodgate/setup/">Floodgate</a>.
</div>
@@ -1,39 +0,0 @@
# Proxy setup with server hosting provider
<div class="alert alert-info" role="alert">
NOTE:
- Install Geyser <b>only</b> on the proxy server! You can install Floodgate on all servers for better skin support &
network-wide Floodgate API availability for other plugins.
- All servers on the network must accept {{ site.data.versions.java }} Java clients, as Geyser imitates one.
</div>
1. Select your server hosting provider in the dropdown above.
2. Download the plugin for your proxy software from [the download page](https://geysermc.org/download).
3. Place the Geyser jar in the `plugins` folder, and restart the server.
4. Open your Geyser config, located in `/plugins/Geyser-xyz/config.yml`, and find the following:
```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
# 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.
<div class="alert alert-info" role="alert">
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="/floodgate/setup/">Floodgate</a>.
</div>
@@ -1,37 +0,0 @@
# Paper / Spigot setup with server hosting provider
<div class="alert alert-info" role="alert">
If your server is not running {{ site.data.versions.java }}, you will need to install <a href="https://www.spigotmc.org/resources/viaversion.19254/">ViaVersion</a>.
See also our <a href="/geyser/faq/#what-server-versions-does-geyser-support">FAQ article</a> on supported versions.
</div>
1. Select your server hosting provider in the dropdown above.
2. Download the plugin from [the download page](https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot).
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:
```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
# 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.
<div class="alert alert-info" role="alert">
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="/floodgate/setup/">Floodgate</a>.
</div>
@@ -1,51 +0,0 @@
# Fabric setup - self-hosting
<div class="alert alert-warning" role="alert">
Geyser-Fabric runs <b>only</b> on a {{ site.data.versions.java }} Fabric server.
To use Geyser on an older Fabric server, you can use Geyser on a BungeeCord/Velocity proxy, or Geyser Standalone instead.
</div>
1. Download the mod from [the download page](https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/fabric).
2. Place the Geyser-Fabric.jar in the `mods` folder, and restart the server. **You also need [FabricAPI](https://modrinth.com/mod/fabric-api).**
3. Open your Geyser config, located in `/config/Geyser-Fabric/config.yml`, and find the following:
```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
```
The vital part is the port. This is the port that Bedrock players will use to connect to your server!
If you enable `clone-remote-port`, the port will be overridden and the Java port is used.
Since you are self-hosting, you can choose the port freely - the default port is 19132.
**Important**: Other services/mods that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
4. Connecting to your server
**Connecting locally in the same network**
On the same device as the server, you can connect using `localhost`, or `127.0.0.1` as the address.
Do note: When hosting and playing on the same Windows device, you will need the [loopback fix](/geyser/fixing-unable-to-connect-to-world/#Using-Geyser-on-the-same-computer).
Other devices in the same local network can use your local IPv4 to connect - it starts with `10.` or `192.168.`.
**Connecting from a different network**
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.
To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) on the UDP protocol in your router/modem, and in the Windows/Linux firewall.
[Our port forwarding guide](/geyser/port-forwarding) explains how to do this in detail.
Then, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our [playit.gg guide](/geyser/playit-gg).
Ngrok will not work since it is TCP-only.
5. Verify whether connections from other networks are possible by running `geyser connectiontest <ip>:<port>` in the console.
<div class="alert alert-info" role="alert">
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="/floodgate/setup/">Floodgate</a>.
</div>
@@ -1,53 +0,0 @@
# Proxy setup - self-hosting
<div class="alert alert-info" role="alert">
NOTE:
- Install Geyser <b>only</b> on the proxy server! You can install Floodgate on all servers for better skin support &
network-wide Floodgate API availability for other plugins.
- All servers on the network must accept {{ site.data.versions.java }} Java clients, as Geyser imitates one.
</div>
1. Download the plugin for your proxy software from [the download page](https://geysermc.org/download).
2. Place the Geyser jar in the `plugins` folder, and restart the server.
3. Open your Geyser config, located in `/plugins/Geyser-xyz/config.yml`, and find the following:
```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
```
The vital part is the port. This is the port that Bedrock players will use to connect to your server!
If you enable `clone-remote-port`, the port will be overridden and the Java port is used.
Since you are self-hosting, you can choose the port freely - the default port is 19132.
**Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
4. Connecting to your server
**Connecting locally in the same network**
On the same device as the server, you can connect using `localhost`, or `127.0.0.1` as the address.
Do note: When hosting and playing on the same Windows device, you will need the [loopback fix](/geyser/fixing-unable-to-connect-to-world/#Using-Geyser-on-the-same-computer).
Other devices in the same local network can use your local IPv4 to connect - it starts with `10.` or `192.168.`.
**Connecting from a different network**
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.
To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) on the UDP protocol in your router/modem, and in the Windows/Linux firewall.
[Our port forwarding guide](/geyser/port-forwarding) explains how to do this in detail.
Then, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our [playit.gg guide](/geyser/playit-gg).
Ngrok will not work since it is TCP-only.
5. Verify whether connections from other networks are possible by running `geyser connectiontest <ip>:<port>` in the console.
<div class="alert alert-info" role="alert">
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="/floodgate/setup/">Floodgate</a>.
</div>
@@ -1,51 +0,0 @@
# Paper / Spigot setup - self-hosting
<div class="alert alert-info" role="alert">
If your server is not running {{ site.data.versions.java }}, you will need to install <a href="https://www.spigotmc.org/resources/viaversion.19254/">ViaVersion</a>.
See also our <a href="/geyser/faq/#what-server-versions-does-geyser-support">FAQ article</a> on supported versions.
</div>
1. Download the plugin from [the download page](https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot).
2. Place the Geyser-Spigot.jar in the `plugins` folder, and restart the server.
3. Open your Geyser config, located in `/plugins/Geyser-Spigot/config.yml`, and find the following:
```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
```
The vital part is the port. This is the port that Bedrock players will use to connect to your server!
If you enable `clone-remote-port`, the port will be overridden and the Java port is used.
Since you are self-hosting, you can choose the port freely - the default port is 19132.
**Important**: Other services/plugins that rely on ports with UDP, such as Voice Chats or Query, cannot share the port with Geyser.
4. Connecting to your server
**Connecting locally in the same network**
On the same device as the server, you can connect using `localhost`, or `127.0.0.1` as the address.
Do note: When hosting and playing on the same Windows device, you will need the [loopback fix](/geyser/fixing-unable-to-connect-to-world/#Using-Geyser-on-the-same-computer).
Other devices in the same local network can use your local IPv4 to connect - it starts with `10.` or `192.168.`.
**Connecting from a different network**
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.
To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) on the UDP protocol in your router/modem, and in the Windows/Linux firewall.
[Our port forwarding guide](/geyser/port-forwarding) explains how to do this in detail.
After doing this, players can connect with your public IPv4 + port to your server.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our [playit.gg guide](/geyser/playit-gg).
Ngrok will not work since it is TCP-only.
5. Verify whether connections from other networks are possible by running `geyser connectiontest <ip>:<port>` in the console.
<div class="alert alert-info" role="alert">
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="/floodgate/setup/">Floodgate</a>.
</div>
@@ -1,95 +0,0 @@
# Geyser-Standalone Setup
<div class="alert alert-info" role="alert">
You need to have Java 17 or higher installed to run Geyser. To run Geyser Standalone on Android, see the bottom of this page.
</div>
<div class="alert alert-warning" role="alert">
Geyser-Standalone is NOT a plugin or mod! It is a standalone Java program that you would run separately to your Java Edition server.
</div>
# General Setup & Configuration
1. Download Geyser Standalone from [here](https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/standalone).
2. Create a new folder for Geyser, and drop the jar in there.
3. Start Geyser Standalone:
- **GUI** (Recommended):
Double-click the jar file and all the necessary files for Geyser will be created.
- Or use the **console setup**:
Create a new bat or startup script, similar to the one you'd use for a Spigot/Paper server, and take a look at [this](/geyser/creating-a-startup-script/) page for what to put into it.
Run the startup script/bat, and all the necessary files for Geyser will be created.
4. Open your Geyser config (`config.yml`), and find the following:
```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
```
The `port` is the port Bedrock players will enter to connect to the server.
Uncommenting and changing `address` here is only needed if you need to limit connections to a specific IP address.
To configure which Java Edition server Geyser Standalone will send players to, find the remote section:
```yaml
remote:
# The IP address of the remote (Java Edition) server
# If it is "auto", for standalone version the remote address will be set to 127.0.0.1.
address: auto
# The port of the remote (Java Edition) server
port: 25565
# Authentication type. Can be offline, online, or floodgate (see https://github.com/GeyserMC/Geyser/wiki/Floodgate).
auth-type: online
```
Here, change `address` to the Java server's address, or to `auto` if the server is on the same machine as Geyser-Standalone.
Then, change `port` to the Java server's port. If you have set up Floodgate on the remote Java server, you can set auth-type to "floodgate" - otherwise,
set it to either `online` for an online mode server, or `offline` for an offline mode server. To install and set up Floodgate with a Standalone server, see [here](/floodgate/setup).
5. Connecting to your server
**Connecting locally in the same network**
On the same device as the server, you can connect using `localhost`, or `127.0.0.1` as the address.
Do note: When hosting and playing on the same Windows device, you will need the [loopback fix](/geyser/fixing-unable-to-connect-to-world/#Using-Geyser-on-the-same-computer).
Other devices in the same local network can use your local IPv4 to connect - it starts with `10.` or `192.168.`.
Alternatively, open Minecraft: Bedrock edition, and join the LAN-Server in the **Friends** tab.
**Connecting from a different network**
You will need to expose the port Geyser runs on to the Internet if you want players from outside your network to join.
To achieve that, you have two options:
- Port forwarding: Open the Geyser port (e.g. 19132) on the UDP protocol in your router/modem, and in the Windows/Linux firewall.
After doing this, players can connect with your public IPv4 + port to your server.
See [here](/geyser/port-forwarding/) for a helpful guide.
- playit.gg: Instead of opening a port (which might not be an option/if you do not want to expose your home ip), you can use
the playit.gg service to create a tunnel for you to route the traffic through. See our [playit.gg guide](/geyser/playit-gg).
Ngrok will not work since it is TCP-only.
6. Verify whether connections from other networks are possible by running `geyser connectiontest <ip>:<port>` in the console.
# Running Geyser-Standalone on Android
<div class="alert alert-warning" role="alert">
Applications such as Termux on Android are capable of running Geyser, but this largely depends on how powerful your Android device is. Please do so at your own risk.
</div>
## Termux (Android)
1. Download and install [Termux](https://termux.com/)
2. Run `pkg install openjdk-17`
3. Run `wget https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/standalone`
4. Run `java -jar Geyser-Standalone.jar`
OR
We have an automated setup script for clean Termux installs, which might not work for all users. If the manual guide above does not work, try this.
Run this to start the download/install:
```
curl https://gist.githubusercontent.com/rtm516/e3e07d6595ee41e05a38b03c0f4d7a80/raw/install.sh | bash
```
@@ -1,37 +0,0 @@
<div class="nav nav-tabs setup-tabs" role="tablist" aria-label="Setup Options">
<li class="nav-item" role="presentation">
<a class="nav-link active" href="#" data-bs-toggle="tab" data-bs-target="#spigot-option-{{include.type}}" type="button" role="tab" aria-controls="spigot-option-{{include.type}}" aria-selected="false"><img src="/img/icons/paper.png" alt="paper icon"> Paper / Spigot</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" href="#" data-bs-toggle="tab" data-bs-target="#fabric-option-{{include.type}}" type="button" role="tab" aria-controls="fabric-option-{{include.type}}" aria-selected="false"><img src="/img/icons/fabric.png" alt="fabric icon"> Fabric</a>
</li>
<li class="nav-item" role="presentation">
<a class="nav-link" href="#" data-bs-toggle="tab" data-bs-target="#proxy-option-{{include.type}}" type="button" role="tab" aria-controls="proxy-option-{{include.type}}" aria-selected="false"><img src="/img/icons/velocity.svg" alt="velocity icon"> Proxy Servers</a>
</li>
{% if include.show_standalone != nil %}
<li class="nav-item" role="presentation">
<a class="nav-link" href="#" data-bs-toggle="tab" data-bs-target="#standalone-option-{{include.type}}" type="button" role="tab" aria-controls="standalone-option-{{include.type}}" aria-selected="false"><img src="/img/icons/geyser.png" alt="geyser icon"> Standalone</a>
</li>
{% endif %}
</div>
<div class="tab-content mt-4">
<div id="spigot-option-{{include.type}}" class="tab-pane fade show active" role="tabpanel">
{% capture my_include %}{% include setup/instructions/geyser/{{include.type}}/spigot.md %}{% endcapture %}
{{ my_include | markdownify }}
</div>
<div id="fabric-option-{{include.type}}" class="tab-pane fade" role="tabpanel">
{% capture my_include %}{% include setup/instructions/geyser/{{include.type}}/fabric.md %}{% endcapture %}
{{ my_include | markdownify }}
</div>
<div id="proxy-option-{{include.type}}" class="tab-pane fade" role="tabpanel">
{% capture my_include %}{% include setup/instructions/geyser/{{include.type}}/proxy.md %}{% endcapture %}
{{ my_include | markdownify }}
</div>
{% if include.show_standalone != nil %}
<div id="standalone-option-{{include.type}}" class="tab-pane fade" role="tabpanel">
{% capture my_include %}{% include setup/instructions/geyser/{{include.type}}/standalone.md %}{% endcapture %}
{{ my_include | markdownify }}
</div>
{% endif %}
</div>
-36
View File
@@ -1,36 +0,0 @@
<nav class="navbar navbar-expand-md">
<div class="container-fluid">
<div class="d-block d-md-none">Wiki Navigation</div>
<button class="navbar-toggler mb-2" type="button" data-bs-toggle="collapse" data-bs-target="#sidebarNav" aria-controls="sidebarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse flex-column align-items-start" id="sidebarNav">
{% for section in site.data.toc %}
{% assign section_size = section.url | size %}
{% assign current_section = page.url | remove_first: "/" | | truncate: section_size, "" %}
{% if current_section == "" %}
{% assign current_section = "geyser/" %}
{% endif %}
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle fw-bold{% if current_section == section.url %} show{% endif %}" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="false" aria-expanded="false">{{ section.title }}</a>
<ul class="pe-3 pt-0 dropdown-menu position-relative border-0 list-disc{% if current_section == section.url %} show{% endif %}">
{% for entry in section.links %}
<li class="ms-4">
<a href="{% if entry.url %}{{ site.baseurl }}/{{ entry.url }}{% else %}{{ entry.external_url }}{% endif %}">{{ entry.title }}</a>
{% if entry.children %}
<ul>
{% for child in entry.children %}
<li>
<a href="{% if child.url %}{{ site.baseurl }}/{{ child.url }}{% else %}{{ child.external_url }}{% endif %}">{{ child.title }}</a>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
</div>
{% endfor %}
</div>
</div>
</nav>
-5
View File
@@ -1,5 +0,0 @@
<a class="d-block text-decoration-none" href="{{ site.repo }}/edit/{% if site.github_branch %}{{ site.github_branch }}{% else %}master{% endif %}/{{ page.path }}" target="_blank"><i class="bi bi-pencil"></i> Edit this page</a>
<a class="d-block text-decoration-none" href="{{ site.repo }}/issues/new?labels={% if page.editable %}{{ page.editable }}{% else %}question{% endif %}&title=Question:&body=Question on: {{ page.path }}" target="_blank"><i class="bi bi-github"></i> Create Wiki issue/bug report</a>
<a class="d-block text-decoration-none" href="{{ page.repo }}/issues/new" target="_blank"><i class="bi bi-list-check"></i> Create Geyser issue/bug report</a>
<div id="page-nav" class="py-3 {% if page.page_sidebar == false %}d-none{% endif %}"></div>
-89
View File
@@ -1,89 +0,0 @@
<!doctype html>
<html lang="en" data-bs-theme="dark">
<head>
<meta charset="utf-8">
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ site.title }}{% if page.title %}: {{ page.title }}{% endif %}</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Montserrat&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/darcula.css">
<meta name="author" content="{{ site.author }}">
<meta name="description" content="{{ site.description }}">
<meta name="theme-color" content="#2b3035">
<meta property="og:type" content="website">
<meta property="og:url" content="{{ site.url }}">
<meta property="og:title" content="{{ site.title }}{% if page.title %}: {{ page.title }}{% endif %}">
<meta property="og:description" content="{{ site.description }}">
<meta property="og:image" content="/android-chrome-192x192.png">
<link rel="shortcut icon" type="image/x-icon" href="{{ 'favicon.ico' | relative_url }}">
<link rel="icon" type="image/x-icon" href="{{ 'favicon.ico' | relative_url }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ 'favicon-16x16.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ 'favicon-32x32.png' | relative_url }}">
<link rel="icon" type="image/png" sizes="192x192" href="{{ 'android-chrome-192x192.png' | relative_url }}">
<link rel="apple-touch-icon" href="{{ 'apple-touch-icon.png' | relative_url }}">
<link rel="mask-icon" href="{{ 'safari-pinned-tab.svg' | relative_url }}" color="#248f00">
</head>
<body>
<header>
<nav class="navbar navbar-expand-lg bg-body-tertiary fixed-top">
<div class="container-fluid">
<a class="navbar-brand" href="/"><img src="{{ 'android-chrome-512x512.png' | relative_url }}" alt="geyser logo" height="32"> {{ site.title }}</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarLinks" aria-controls="navbarLinks" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarLinks">
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="https://geysermc.org/"><i class="bi bi-house pe-1"></i> Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://geysermc.org/download"><i class="bi bi-download pe-1"></i> Download</a>
</li>
</ul>
<form class="d-flex" role="search" action="/search/">
<div class="input-group">
<button class="btn btn-outline-secondary" type="submit" id="button-search"><i class="bi bi-search"></i></button>
<input type="text" name="q" class="form-control" placeholder="Search the site..." aria-label="Search the site..." aria-describedby="button-search">
</div>
</form>
</div>
</div>
</nav>
</header>
<div id="page-content" class="container-fluid">
<div class="row">
<div class="col-12 col-md-3 col-xl-2">
<div class="sticky-top">
<div class="sidebar py-2 text-break">
{% include sidebar-nav.html %}
</div>
</div>
</div>
<main class="col-12 col-md-9 col-xl-8" role="main">
{{ content }}
</main>
<div class="col-2 d-none d-xl-block">
<div class="sticky-top">
<div class="sidebar py-2">
{% include sidebar-page.html %}
</div>
</div>
</div>
</div>
</div>
<!-- <footer class="p-4 text-center bg-body-tertiary">
&copy; {{ 'now' | date: "%Y" }} {{ site.author }}
</footer> -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
<script src="/js/page-nav.js"></script>
</body>
</html>
-18
View File
@@ -1,18 +0,0 @@
---
layout: default
---
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{% assign crumbs = page.url | append: "/" | replace: '//', '/' | split: '/' %}
{% for crumb in crumbs offset: 1 %}
{% assign i = forloop.index | plus: 1 %}
{% if i == crumbs.size %}
<li class="breadcrumb-item active" aria-current="page">{{ page.title }}</li>
{% else %}
<li class="breadcrumb-item"><a href="{{ site.url }}{{ site.baseurl }}{% for crumb in crumbs limit: i %}{{ crumb | append: '/' }}{% endfor %}">{{ crumb | replace: '-', ' ' | capitalize }}</a></li>
{% endif %}
{% endfor %}
</ol>
</nav>
{{ content }}
-147
View File
@@ -1,147 +0,0 @@
/**
* Syntax highlighting styles
* Based on the Darcula theme for JetBrains IDEs
* https://github.com/shadowfacts/RougeDarcula
* Author: Shadowfacts
*/
.highlight {
background-color: #2B2B2B;
margin-bottom: 15px;
color: #A9B7C6; }
.highlight pre {
background-color: #2B2B2B; }
.highlight pre code {
background-color: #2B2B2B; }
.highlight .lineno {
color: #888888; }
.highlighter-rouge .highlight {
background: #2B2B2B; }
.highlight .c {
color: #808080; }
.highlight .err {
color: #BC3F3C; }
.highlight .k {
color: #CC7832; }
.highlight .o {
color: #A9B7C6; }
.highlight .cm {
color: #808080; }
.highlight .cp {
color: #808080;
font-style: italic; }
.highlight .c1 {
color: #808080; }
.highlight .cs {
color: #629755;
font-style: italic; }
.highlight .gd {
color: #BBBBBB;
background-color: #450505;
text-decoration: line-through; }
.highlight .gd .x {
color: #BBBBBB;
background-color: #450505;
text-decoration: line-through; }
.highlight .ge {
font-style: italic; }
.highlight .gr {
color: #BC3F3C; }
.highlight .gh {
color: #999; }
.highlight .gi {
background-color: #364135; }
.highlight .gi .x {
background-color: #364135; }
.highlight .go {
color: #A9B7C6; }
.highlight .gp {
color: #007F00; }
.highlight .gs {
font-weight: bold; }
.highlight .gu {
color: #aaa; }
.highlight .gt {
color: #a00; }
.highlight .kc {
color: #CC7832; }
.highlight .kd {
color: #CC7832; }
.highlight .kn {
color: #CC7832; }
.highlight .kp {
color: #CC7832;
font-weight: bold; }
.highlight .kr {
color: #CC7832; }
.highlight .kt {
color: #CC7832; }
.highlight .m {
color: #6897BB; }
.highlight .s {
color: #6A8759; }
.highlight .n {
color: #A9B7C6; }
.highlight .na {
color: #A9B7C6; }
.highlight .nb {
color: #CC7832; }
.highlight .nc {
color: #A9B7C6; }
.highlight .no {
color: #9876AA; }
.highlight .ni {
color: #9876AA; }
.highlight .ne {
color: #A9B7C6; }
.highlight .nf {
color: #A9B7C6; }
.highlight .nn {
color: #A9B7C6; }
.highlight .nt {
color: #E8BF6A; }
.highlight .nv {
color: #A9B7C6; }
.highlight .ow {
color: #A9B7C6; }
.highlight .mf {
color: #6897BB; }
.highlight .mh {
color: #6897BB; }
.highlight .mi {
color: #6897BB; }
.highlight .mo {
color: #6897BB; }
.highlight .sb {
color: #d14; }
.highlight .sc {
color: #6A8759; }
.highlight .sd {
color: #6A8759; }
.highlight .s2 {
color: #6A8759; }
.highlight .se {
color: #CC7832; }
.highlight .sh {
color: #6A8759; }
.highlight .si {
color: #6A8759; }
.highlight .sx {
color: #6A8759; }
.highlight .sr {
background-color: #364135; }
.highlight .s1 {
color: #6A8759; }
.highlight .ss {
color: #6A8759; }
.highlight .bp {
color: #CC7832; }
.highlight .vc {
color: #A9B7C6; }
.highlight .vg {
color: #A9B7C6; }
.highlight .vi {
color: #A9B7C6; }
.highlight .il {
color: #6897BB; }
.highlight .p {
color: #A9B7C6; }
-98
View File
@@ -1,98 +0,0 @@
:root {
--bs-body-font-family: 'Montserrat', sans-serif;
}
body {
display: flex;
min-height: 100vh;
flex-direction: column;
padding-top: 3.75rem;
}
.sticky-top {
top: 3.75rem;
}
.sidebar {
max-height: calc(100vh - 3.75rem);
overflow-y: auto;
}
.sidebar a {
text-decoration: none;
--bs-link-color-rgb: var(--bs-body-color);
}
.sidebar a:hover {
--bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}
#page-content {
flex-grow: 1;
}
h1[id]::before, h2[id]::before, h3[id]::before {
content: '';
display: block;
position: relative;
width: 0;
height: 3.75rem;
margin-top: -3.75rem;
}
h1 {
margin-bottom: 2rem;
padding-bottom: 0.5rem;
border-bottom: 1px solid var(--bs-secondary-color);
}
div.highlight {
margin: 1rem;
padding: 0.5rem;
border-radius: 5px;
}
.highlight pre {
margin: 0;
tab-size: 4;
}
div.long-list {
overflow-x: scroll;
}
.long-list > ul {
min-width: 500px;
}
.long-list ul {
padding-left: 15px;
}
.no-p-margin p {
margin: 0;
}
.list-disc {
list-style: disc;
}
main img {
max-width: 100%;
}
.setup-tabs .nav-link {
color: var(--bs-white) !important;
}
.setup-tabs .nav-link img {
width: 1.5em;
height: 1.5em;
}
table {
margin-bottom: 1rem;
}
-26
View File
@@ -1,26 +0,0 @@
(function () {
const toc = document.querySelector('#page-nav')
// Select each header
const sections = document.querySelectorAll('main h1')
sections.forEach((section, id) => {
// Create the header link
toc.innerHTML += '<div id="link_' + section.id + '" class="md-nav__item"><a class="md-nav__link" href="#' + section.id + '" title="' + section.textContent + '">' + section.textContent + '</a></div>'
// Create the sub links container
const children = document.createElement('nav')
children.className = 'md-nav'
children.innerHTML = '<ul class="md-nav__list"></ul>'
// Select all the sub headers and add them to the sub links container
let contenders = section.nextElementSibling
while (contenders && contenders.tagName !== 'H1') {
if (contenders.tagName === 'H2' || contenders.tagName === 'H3') {
const content = '<li class="md-nav__item"><a class="md-nav__link" href="#' + contenders.id + '" title="' + contenders.textContent + '">' + contenders.textContent + '</a></li>'
children.firstElementChild.innerHTML += content
}
contenders = contenders.nextElementSibling
}
document.querySelector('#link_' + section.id).appendChild(children)
})
})()
-102
View File
@@ -1,102 +0,0 @@
(function () {
function getQueryVariable(variable) {
const query = window.location.search.substring(1)
const vars = query.split('&')
for (let i = 0; i < vars.length; i++) {
const pair = vars[i].split('=')
if (pair[0] === variable) {
return decodeURIComponent(pair[1].replace(/\+/g, '%20')).trim()
}
}
}
function getPreview(query, content, previewLength) {
previewLength = previewLength || (content.length * 2)
const parts = query.split(' ')
let match = content.toLowerCase().indexOf(query.toLowerCase())
let matchLength = query.length
let preview
// Find a relevant location in content
for (let i = 0; i < parts.length; i++) {
if (match >= 0) {
break
}
match = content.toLowerCase().indexOf(parts[i].toLowerCase())
matchLength = parts[i].length
}
// Create preview
if (match >= 0) {
const start = match - (previewLength / 2)
const end = start > 0 ? match + matchLength + (previewLength / 2) : previewLength
preview = content.substring(start, end).trim()
if (start > 0) {
preview = '...' + preview
}
if (end < content.length) {
preview = preview + '...'
}
// Highlight query parts
preview = preview.replace(new RegExp('(' + parts.join('|') + ')', 'gi'), '<strong>$1</strong>')
} else {
// Use start of content if no match found
preview = content.substring(0, previewLength).trim() + (content.length > previewLength ? '...' : '')
}
return preview
}
function displaySearchResults(results, query) {
const searchResultsEl = document.getElementById('search-results')
const searchProcessEl = document.getElementById('search-process')
if (results.length) {
let resultsHTML = ''
results.forEach(function (result) {
const item = window.data[result.ref]
if (item.title) {
const contentPreview = getPreview(query, item.content, 170)
const titlePreview = getPreview(query, item.title)
resultsHTML += "<li><h4><a href='" + item.url.trim() + "'>" + titlePreview + '</a></h4><p><small>' + contentPreview + '</small></p></li>'
}
})
searchResultsEl.innerHTML = resultsHTML
searchProcessEl.innerText = 'Showing'
} else {
searchResultsEl.style.display = 'none'
searchProcessEl.innerText = 'No'
}
}
window.index = lunr(function () {
this.field('id')
this.field('title', { boost: 10 })
this.field('url')
this.field('content')
})
const query = decodeURIComponent((getQueryVariable('q') || '').replace(/\+/g, '%20'))
const searchQueryContainerEl = document.getElementById('search-query-container')
const searchQueryEl = document.getElementById('search-query')
searchQueryEl.innerText = query
if (query !== '') {
searchQueryContainerEl.style.display = 'inline'
}
for (const key in window.data) {
window.index.add(window.data[key])
}
displaySearchResults(window.index.search(query), query) // Hand the results off to be displayed
})()
-12
View File
@@ -1,12 +0,0 @@
---
permalink: /
---
<div class="my-3 text-center">
<img src="https://geysermc.org/img/geyser.png" alt="geyser logo">
</div>
# GeyserMC Wiki
Here you will find setup guides, FAQs and other information about GeyserMC projects including but not limited to Geyser and Floodgate. You can access the various pages from the sidebar on the left.
-41
View File
@@ -1,41 +0,0 @@
---
title: Search
permalink: /search/
excluded_in_search: true
layout: page
---
<form class="d-flex" role="search" action="/search/">
<div class="input-group">
<button class="btn btn-outline-secondary" type="submit" id="button-search"><i class="bi bi-search"></i></button>
<input type="text" name="q" class="form-control" placeholder="Search the site..." aria-label="Search the site..." aria-describedby="button-search">
</div>
</form>
<br />
<p><span id="search-process">Loading</span> results <span id="search-query-container" style="display: none;">for "<strong id="search-query"></strong>"</span></p>
<ul id="search-results"></ul>
<script>
window.data = {
{% for post in site.docs %}
{% unless post.excluded_in_search %}
{% if added %},{% endif %}
{% assign added = false %}
"{{ post.url | slugify }}": {
"id": "{{ post.url | slugify }}",
"title": "{{ post.title | xml_escape }}",
"url": "{{ post.url | xml_escape | relative_url }}",
"content": {{ post.content | strip_html | replace_regex: "[\s/\n]+"," " | strip | jsonify }}
}
{% assign added = true %}
{% endunless %}
{% endfor %}
};
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lunr.js/0.7.0/lunr.min.js"
integrity="sha512-eWBLTdGT/I5jd80U2J0TyF2G+Fja6TiTYR6Ymeva7QgGUCy9EA/qhoppa4B/wYn7yWXZ8azgremVGtBi3EFDvg=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="/js/search.js"></script>