diff --git a/apps/docs/README.md b/apps/docs/README.md new file mode 100644 index 0000000..a0e7716 --- /dev/null +++ b/apps/docs/README.md @@ -0,0 +1,32 @@ +# Mintlify Starter Kit + +Click on `Use this template` to copy the Mintlify starter kit. The starter kit contains examples including + +- Guide pages +- Navigation +- Customizations +- API Reference pages +- Use of popular components + +### Development + +Install the [Mintlify CLI](https://www.npmjs.com/package/mintlify) to preview the documentation changes locally. To install, use the following command + +``` +npm i -g mintlify +``` + +Run the following command at the root of your documentation (where docs.json is) + +``` +mintlify dev +``` + +### Publishing Changes + +Install our Github App to auto propagate changes from your repo to your deployment. Changes will be deployed to production automatically after pushing to the default branch. Find the link to install on your dashboard. + +#### Troubleshooting + +- Mintlify dev isn't running - Run `mintlify install` it'll re-install dependencies. +- Page loads as a 404 - Make sure you are running in a folder with `docs.json` diff --git a/apps/docs/docs.json b/apps/docs/docs.json new file mode 100644 index 0000000..21bb28c --- /dev/null +++ b/apps/docs/docs.json @@ -0,0 +1,71 @@ +{ + "$schema": "https://mintlify.com/docs.json", + "theme": "maple", + "name": "MHSF Docs", + "colors": { + "primary": "#817abb", + "light": "#817abb", + "dark": "#c15281" + }, + "favicon": "/docs/content/favicon.svg", + "navigation": { + "tabs": [ + { + "tab": "Documentation", + "groups": [ + { + "group": "General", + "pages": ["docs/getting-started"] + }, + { + "group": "Guides", + "pages": [ + "docs/guides/customization", + "docs/guides/linking", + "docs/guides/owning-a-server", + "docs/guides/reporting-server" + ] + }, + { + "group": "Advanced", + "pages": [ + "docs/advanced/achievements", + "docs/advanced/command-bar", + "docs/advanced/tech-stack" + ] + }, + { + "group": "Legal", + "pages": ["docs/legal/rules"] + } + ] + }, + { + "tab": "Changelog", + "pages": ["docs/changelog"] + } + ] + }, + "logo": { + "light": "/docs/content/icon-gl.svg", + "dark": "/docs/content/icon-gd.svg" + }, + "navbar": { + "links": [ + { + "label": "Support", + "href": "mailto:support@mhsf.app" + } + ], + "primary": { + "type": "button", + "label": "MHSF", + "href": "https://mhsf.app" + } + }, + "footer": { + "socials": { + "github": "https://github.com/DeveloLongScript/MHSF" + } + } +} diff --git a/apps/docs/docs/advanced/achievements.mdx b/apps/docs/docs/advanced/achievements.mdx new file mode 100644 index 0000000..f02021f --- /dev/null +++ b/apps/docs/docs/advanced/achievements.mdx @@ -0,0 +1,23 @@ +--- +title: "Achievement Collection" +folder: "Advanced" +--- + +Achievements are a page that every server gets which contains certain requirements which could be embedded in an servers history. + + +These achievements are accessable using the "Achievements" tab on the left of any server page. +Achievements are *not* collected instantly, and are collected every 12 hours when the server is online (this is not timezone dependent). +There are currently 4 possible achievements to get, ranging from easiest to hardest. + +## 1 thousand favorites achievement +After getting 1 thousand favorites on MHSF, and your server is online during the achievement collection, *you will get this achievement showing* when you got **1,000 users to favorite your server**. + +## 1 thousand total joins achievement +After getting 1 thousand total joins on Minehut, and your server is online during the achievement collection, *you will get this achievement showing* when you got **1,000 users to join your server**. + +## 100 thousand favorites achievement +After getting 100 thousand favorites on MHSF, and your server is online during the achievement collection, *you will get this achievement showing* when you got **100 thousand users to favorite your server**. + +## 100 thousand total joins achievement +After getting 100 thousand total joins on Minehut, and your server is online during the achievement collection, *you will get this achievement showing* when you got **100 thousand users to join your server**. \ No newline at end of file diff --git a/apps/docs/docs/advanced/command-bar.mdx b/apps/docs/docs/advanced/command-bar.mdx new file mode 100644 index 0000000..038a617 --- /dev/null +++ b/apps/docs/docs/advanced/command-bar.mdx @@ -0,0 +1,34 @@ +--- +title: "Using the Command-bar" +folder: "Advanced" +--- + + +The command-bar has many mods and is a great tool for power-users to use as its built to be fast, while showing optimal information to the scenario + + + +## Triggering the command-bar + +There are two ways to trigger the command bar, using `Ctrl+K` and Ctrl + Shift + K. Both put you in a command-bar, however when using `Ctrl+K`, you go into a general page with other settings. +Using Ctrl + Shift + K opens a server viewer, and this may be faster then going through the general page. + +## Functions using Ctrl+K + +- **Servers** opens a server list, same as Ctrl + Shift + K +- **Sort Servers** allows you to go into a sorted server list quickly +- **Links** shows links useful for MHSF +- **Pick Random Server** picks a random server and shows the user what that server is, is similar to the one on [the server list](/) +

+ **Profile (requires log-in):** +- **Favorites** shows the user their favorited servers +- **User Settings** shows the user the settings for Clerk + +## Servers + +This view shows the most popular 50 servers, and when searching, you can search for any server that exists (offline or online). +When clicking on a server, you see a simple view showing information about the server, along with a link to the server page. + +## Trigger from information popover + +Click the top-right info button, and click Open Commands. This will open the same `Ctrl+K` command-bar, if you would like to use it on mobile. diff --git a/apps/docs/docs/advanced/tech-stack.mdx b/apps/docs/docs/advanced/tech-stack.mdx new file mode 100644 index 0000000..65b109f --- /dev/null +++ b/apps/docs/docs/advanced/tech-stack.mdx @@ -0,0 +1,23 @@ +--- +title: "Tech-stack" +folder: "Advanced" +--- + +The tech stack of MHSF is relatively modern to ensure MHSF keeps up with standards set for accessibility and usability. + +## Front-end +- **React** is used as a way to replicate components already used, and use the eco-system of pre-existing components +- **shadcn/ui** is the UI framework used to keep the whole website consistent. +- **Contentlayer** manages all the pages used for documentation +- **TailwindCSS** makes MHSF use (mostly) no CSS for better efficency +- **Sonner** provides the Toast used for MHSF + +## Back-end +- **Inngest** runs periodic tasks +- **MongoDB** is the database of choice for MHSF + +## Both +- **Clerk** is used for authentication of users +- **Next.js** is used to make sure API endpoints and front-end endpoints are on the same domain, along with lots of convient features +- **Vercel** is hosting MHSF (along with non-tracking analytics) + diff --git a/apps/docs/docs/changelog.mdx b/apps/docs/docs/changelog.mdx new file mode 100644 index 0000000..3ecfce9 --- /dev/null +++ b/apps/docs/docs/changelog.mdx @@ -0,0 +1,142 @@ +--- +title: "Changelog" +--- + + + +## Changelog +- Moved entire technical structure from single-project to mono-repo to prepare for v2. +- Added new banner + +## v2 +MHSF has been a great project of mine for nearly 9 months now, however the frontend of MHSF has always been buggy and complex to modify. MHSF was built at first as a project that was expected to only last a week & be one of my many abandoned projects, meaning it was not meant to have the best code. v2 is a complete redo of the frontend from the server-list to your settings, expecting to look even better than before. + +I always didn't have the best idea of UI concepts for the project, and when it started I was definitely worse than where I was at this point. v2 is expected to change that with my own custom UI that very much looks a lot better than pre-v2 MHSF. And of course, it will be fully open-source along-side MHSF and documented for others to use in their own projects, and will be aimed to be compatible with shadcn/ui for an ideal developer experience. + +From the bottom of my heart, I am very grateful for the relatively small amount of support we got with this project and with v2, we are expected to do even better and bring in more people. Always remember you can contact me on Discord (`@giftedly`) if you have any suggestions, bug issues (or use GitHub issues) or anything else related to MHSF done for you, it would be greatly appreciated. + +Happy valentines y'all. See you guys when v2 is done. 💗 + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.8) + + + +## Changelog +- Migrated accounts from development to production + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.7.5) + + + + +## Changelog +- Partnered with CoreBoxx! +- You can now link your Minecraft account on CoreBoxx! (check out CB 3.0.15) +- Revamped the server finding controls +- Fixed various bugs +- Made banners a different style +- Made Discord embed not inside a card +- Added incorrect server capitalization detection +- Made the MOTD area slightly bigger +- New footer +- Added padding for settings page +- Added new table mode +- Added new button for GitHub release on changelog + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.7) + + + + +## Changelog +- New MOTD engine that is over 3,000% faster, runs client-side, and doesn't need any requests to run. +- Adding snowfall finally (better late then ever) +- Fixed issue where GitHub link was broken if you were signed-out + +This is going to (probably) be the last version of 2024. Happy holidays to everyone! + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.6.5) + + + +## Changelog +- Completely redid top of server view +- New theme transition (smooth) +- New favorite button +- Favorite counts are now prominent on the server view +- Added more padding in the server view +- Separated the tabs on the side for sharing actions +- Added new QR code generator + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.6) + + + + + +## Changelog + +- New embeds +- More mobile friendly elements +- Better tabs in the server +- Fixed issue where some servers due to their age were not loading + +## More about our domain change + +For the past months or so, we were using the https://list.mlnehut.com domain. (yes, the website is still a rickroll 😆 ) I was not intending for the long-term to use this domain, but I didn't have the time to actually buy a domain then. The old domain was provided by Tarna, thanks! However, now I've moved MHSF to a simplistic domain, MHSF! + +I hope I can update MHSF more and more going into the holiday season! ❤️ + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.5) + + + +## Changelog +- Completely revamped the documentation using the new Sidebar component +- Completely redid the change log for different tabs and using the new Sidebar component +- New inbuilt joins chart inside of the hover menu of a server +- Added new server icons tab on servers with rarities and their names + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.4.5) + + + +## Changelog +- Some minor backend changes + +FYI: Hey! Recently I've broken my wrist, and I couldn't work on MHSF for longer. I've taken some weeks to take a break from MHSF & heal my wrist. Expect to see some new updates over the weekend and for the next weeks or so. I'm still not giving up on MHSF any time soon, and I'm working on affiliates for MHSF as well. + +Thank you for sticking around for the time ❤️ + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.3.2) + + + + + +## Changelog + +- New documentation linking +- Achievements are here! +- Finally fixed Cron actions for the final time™ +- Overhauled account preferences +- Better contributing documentation + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.3) + + + + + + +## Changelog + +- Brand new documentation +- Syncing server list customizations across account +- Fixed bugs & some more + +_PS_: This release took over 5 days from the last release, why? Because we have made a brand new system to add Cron actions. This will make the statistics more consistent. + +[ View on GitHub](https://github.com/DeveloLongScript/MHSF/releases/tag/1.2) + + diff --git a/apps/docs/docs/content/favicon.svg b/apps/docs/docs/content/favicon.svg new file mode 100644 index 0000000..cb6ee88 --- /dev/null +++ b/apps/docs/docs/content/favicon.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + diff --git a/apps/docs/docs/content/icon-gd.svg b/apps/docs/docs/content/icon-gd.svg new file mode 100644 index 0000000..208859c --- /dev/null +++ b/apps/docs/docs/content/icon-gd.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + diff --git a/apps/docs/docs/content/icon-gl.svg b/apps/docs/docs/content/icon-gl.svg new file mode 100644 index 0000000..70541db --- /dev/null +++ b/apps/docs/docs/content/icon-gl.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + diff --git a/apps/docs/docs/content/main-banner.png b/apps/docs/docs/content/main-banner.png new file mode 100644 index 0000000..4323424 Binary files /dev/null and b/apps/docs/docs/content/main-banner.png differ diff --git a/apps/docs/docs/content/v1.2-banner.png b/apps/docs/docs/content/v1.2-banner.png new file mode 100644 index 0000000..9354694 Binary files /dev/null and b/apps/docs/docs/content/v1.2-banner.png differ diff --git a/apps/docs/docs/content/v1.3-banner.png b/apps/docs/docs/content/v1.3-banner.png new file mode 100644 index 0000000..1bd4b04 Binary files /dev/null and b/apps/docs/docs/content/v1.3-banner.png differ diff --git a/apps/docs/docs/content/v1.5-banner.png b/apps/docs/docs/content/v1.5-banner.png new file mode 100644 index 0000000..3d37172 Binary files /dev/null and b/apps/docs/docs/content/v1.5-banner.png differ diff --git a/apps/docs/docs/content/v1.7-banner.png b/apps/docs/docs/content/v1.7-banner.png new file mode 100644 index 0000000..01f21e0 Binary files /dev/null and b/apps/docs/docs/content/v1.7-banner.png differ diff --git a/apps/docs/docs/content/v2-banner.png b/apps/docs/docs/content/v2-banner.png new file mode 100644 index 0000000..76c824a Binary files /dev/null and b/apps/docs/docs/content/v2-banner.png differ diff --git a/apps/docs/docs/getting-started.mdx b/apps/docs/docs/getting-started.mdx new file mode 100644 index 0000000..be3d7f1 --- /dev/null +++ b/apps/docs/docs/getting-started.mdx @@ -0,0 +1,32 @@ +--- +title: "Getting Started" +--- + + + + +MHSF is an open-source wrapper for the traditional Minehut server list, either in the lobby or the one [built-in to the minehut.com website directly](https://app.minehut.com/servers). +The way MHSF communicates with Minehut is using the closed Minehut API discovered by using DevTools on the original Minehut page. +Along with this, there are entries that are completely third-party like for adding descriptions or banners. + +## What is a wrapper? + +Wrappers are usually free & open-source software that goes on-top of existing software that may be proprietary. There are many reasons for a wrapper to exist (privacy, automation, etc.), in MHSF's case, its because the Minehut server list provided by default just doesn't cut it. +Wrappers usually communicate using an API that was provided by the service its self, making software like MHSF completely legal. + +## Why to use MHSF + +- **Faster response times** MHSF is completely ad-free, and as a result of being open-source, constantly tries to cut down on unnecessary things slowing down the page. +- **Open-source & no tracking** As a result of being open-source, MHSF will never track or sell your data to advertisers. Anybody can look at the code, and can be verified to be completely secure. +- **Make your server stand out** Server owners can configure after appropriate verification banners, Discord widgets, descriptions & color schemes. +- **Customize your experience** Filters, sorts & different spacing settings can make your experience just how you like it while you are browsing servers. +- **Better & more intuitive UX/UI** UI is a big point for MHSF, using UI designed to be more user friendly, and to be more straight-forward then Minehut's +- **One focus** Because MHSF is only a server-list, it only has to be, _a server list!_ This means more updates and higher quality ones because all MHSF has to worry about, is the server list! + +## Will you get banned for this? + +No. Your Minehut account is not associated with your MHSF one, and consequently, you cannot be banned. There is no risk of getting banned by Minehut, as we are posing no threat to them. As long as you aren't spamming MHSF (or the API in general), you should be good. + +## Conclusion + +If you'd like to use MHSF, go to the server list [here](Special:Root) to try it out! You may also give MHSF a star on GitHub if you feel like this project deserves it. diff --git a/apps/docs/docs/guides/customization.mdx b/apps/docs/docs/guides/customization.mdx new file mode 100644 index 0000000..3a2a68d --- /dev/null +++ b/apps/docs/docs/guides/customization.mdx @@ -0,0 +1,30 @@ +--- +title: "Customization" +folder: "Guides" +--- + +Customizing your server is very easy after you have [linked your account](Docs:guides/linking). Make sure you have done that before then. + +## Getting started +Make sure you've also [owned your server](Docs:guides/owning-a-server). + +## Customization Types +### Discord Server +Enable the server widget in your Discord server settings, and copy and paste in the Discord server ID, and your Discord server will appear! +You can see the people inside of your server, and how many are online, along with a link to your server. + +### Banner +Your server can have an image from anywhere, and can be any *static* image type that can be rendered on the web. Copy and paste the link (not the link after uploading the image, but by right clicking and hitting "Copy Image Address") into the input box! + + + Except for images hosted by Imgur, `wsrv.nl` is used to make sure users aren't IP logged. + + +### Color Scheme +You can pick any color in the box and choosing a color scheme to show on your server specificly. + +### Description +You can use Markdown formatting to add a description to describe what your server is. + +## Thats it! +If you have additional customization types or other things you'd like us to add, [feel free to hit us with an issue on GitHub!](Special:GitHub) \ No newline at end of file diff --git a/apps/docs/docs/guides/linking.mdx b/apps/docs/docs/guides/linking.mdx new file mode 100644 index 0000000..223d320 --- /dev/null +++ b/apps/docs/docs/guides/linking.mdx @@ -0,0 +1,57 @@ +--- +title: "Linking your account" +folder: "Guides" +--- + + +MHSF uses a safe & secure system to link your account that **doesn't use your Microsoft account in any way**. MHSF uses a simple system of logging into a server, and then putting a code into the website. + + + +## Prerequisites + +- An active account with MHSF (either linked through GitHub or Discord, or just a standard email account) +- A Minecraft Java Edition account (Bedrock accounts are not guaranteed to work, and could malfunction at some times) + +## Linking + + + +Hit your profile on the top, and go to the settings + + +If your account hasn't already been linked, you should be able to hit the Link button. + + +You can pick either one of these options: +- **CoreBoxx**, a popular box server, is also a MHSF partner who has partnered to add the plugin to allow you to link through the server. + The server should be online all day, and is recommended to use. +- **MHSFPV** was a server designed for only linking. This option is not recommended because **the server is always offline** and must be turned on manually. + + +Join the server using either `CoreBoxx.minehut.gg` or `MHSFPV.minehut.gg` + + Like said above, MHSFPV will most likely need to be turned on via the lobby. + +If using CoreBoxx, type the `/mhsf` command. + +If either server denies you saying you were already linked, and you were linked before, hit the "Force unlink" link in the "Unlink" section. +This is a known bug. + + + +Use the code from this server and input it into MHSF, and then submit. + + +You should be linked. + + + +## Functions + +You can do many things with a linked account: + +- [Own a server](/guides/owning-a-server) +- [Customize a server](/guides/customization) + +More will be coming in future updates, however the only thing you can do with a linked account is server-based functions. diff --git a/apps/docs/docs/guides/owning-a-server.mdx b/apps/docs/docs/guides/owning-a-server.mdx new file mode 100644 index 0000000..04330c7 --- /dev/null +++ b/apps/docs/docs/guides/owning-a-server.mdx @@ -0,0 +1,38 @@ +--- +title: "Own a server" +folder: "Guides" +--- + + +Owning a server is quite simple and allows you to [customize your server](/docs/guides/customization) and make it stand out from other servers. Before owning your server, make sure you agree to the [ECA](Docs:legal/external-content-agreement). + +## Linking + + + + + If you haven't already, make sure your account has [already been linked with your Minecraft account](/guides/linking) + + + +Find the server you would like to own (either by looking for it, or using the keyboard shortcut Ctrl+Shift+K and searching for it) + + + +Go to the server customization tab at the top. + + + +If the owner of the server, and the user your linked to match, you will be able to own your server. +You should see a button named Click to own. Press that button, and you should automagically own the server + + + + +## I can't link my server, because my server doesn't have a author + +Your server must have an author in-order to be automagically linked, and if it doesn't have an author, that means you will have to manually link your server. To do that, make an issue on GitHub, showing that your server has no author, but needs to be linked. Show proof that you own the server, along with your account username, and your account will own the server you need. + +## There is an error while linking my server! +This most likely is because the Minehut API is blocking the server-side request to verify your the owner of that server, or your server [has no author](#i-cant-link-my-server-because-my-server-doesnt-have-a-author). +Try again in 30 minute intervals, or just make an issue on GitHub to link your server. \ No newline at end of file diff --git a/apps/docs/docs/guides/reporting-server.mdx b/apps/docs/docs/guides/reporting-server.mdx new file mode 100644 index 0000000..076b18b --- /dev/null +++ b/apps/docs/docs/guides/reporting-server.mdx @@ -0,0 +1,40 @@ +--- +title: "Reporting a server" +folder: "Guides" +--- + +If you believe a server that you've seen is under breach of the [Rules](/docs/legal/rules), you may request the server in question to be taken down. + + + + - Make sure you are logged into a account + + + Find the server you would like to own (either by looking for it, or using + the keyboard shortcut Ctrl+Shift+K and + searching for it) + + Go to the customization tab + + + This will send a notification to MHSF maintainers. This server must be in + violation of the Rules to be a valid + report. Typical response times include 1 hour to 1 day, and you will not + be notified if your report is successful or not.{" "} + + Please do not spam this form with mindless reports. If you do, your + account will be banned. We are not Minehut support, we cannot help you + with a problem within the Minehut platform or within the server, we can + only moderate the customization of the server. + + (if the problem is within the server, [report it on + Minehut](https://support.minehut.com/hc/en-us/requests/new?tf_subject=Reporting%20Server&tf_27062997154195=reports_appeals&tf_27063229498259=report_server)) + + Hit the Report button, and add a reason to your report. Your report will be + processed and the appropriate action will be taken. + + + +## Issue inside the server + +If an issue is inside of the server, because MHSF doesn't provide the server list source (Minehut API), you must [go to Minehut and make a ticket](https://support.minehut.com/hc/en-us/requests/new?tf_subject=Reporting%20Server&tf_27062997154195=reports_appeals&tf_27063229498259=report_server). diff --git a/apps/docs/docs/legal/rules.mdx b/apps/docs/docs/legal/rules.mdx new file mode 100644 index 0000000..98bf3b6 --- /dev/null +++ b/apps/docs/docs/legal/rules.mdx @@ -0,0 +1,129 @@ +--- +title: "MHSF Platform Rules" +--- + +MHSF is a platform & wrapper for the popular server host, Minehut, designed to be a friendly and useful location to find information +about servers, whether provided by a human or from MHSF's automated systems. + +## Introduction + +We simply cannot provide a service like this without rules that regulate how content is created and shared. This rule agreement ensures that MHSF content meets our project standards and protects users from inappropriate content that may not be suitable for our primary user base: Minehut players & server owners. + +Generally, if you use MHSF as intended—sharing useful information about your server and engaging in appropriate interactions—you should have no issues. However, we've provided this resource to clearly define boundaries and expectations. + + + Code under MHSF is licensed under the [MIT + License](https://github.com/DeveloLongScript/MHSF/blob/main/LICENSE). This document pertains to + platform usage and content, not to open-source code or how you interact on + other platforms *operated* by MHSF (for example, GitHub issues, pull requests, + Discord threads, etc.) + + These rules could be easily overwritten if MHSF is self-hosted by another entity. + + +## Jurisdiction + +MHSF has a presence on various platforms. Our rules are enforced as follows: + +1. **MHSF Platform Content**: All content provided on our platform as part of our customization process is subject to these rules and **will** be moderated. + - See [Reporting](#reporting) for information on how to report violations +2. **Server Content**: Content directly on Minecraft servers should be addressed by server staff—we have **no control** over this content. +3. **Minehut-Provided Content**: Server names, MOTDs, and other content _provided by Minehut_ that appears on MHSF cannot and will not be moderated by MHSF. + - This content is governed by [Minehut's ruleset](https://support.minehut.com/hc/en-us/articles/27075816947731-Minehut-Rules) + - Please email [`support@minehut.com`](mailto:support@minehut.com) to report content that violates Minehut's rules. + +## Content & Behavior Rules + +### Prohibited Content and Behavior + +Users may not: + +1. **Personal Information** + + - Request, share, or disclose personally identifiable information that could negatively impact users + - Make threats to "dox" or "swat" other users + +2. **Harassment & Threats** + + - Engage in sexual harassment + - Threaten violence, assault, or property damage + - Harass other users in any form + - Use terminology that discriminates against others based on race, ethnicity, national origin, sexual orientation, gender identity, religion, disability, or other immutable characteristics + +3. **Harmful Content** + + - Encourage self-harm or suicide + - Encourage users to break platform rules + - Depict or encourage illegal activities (including drugs, weapon-making, gambling, DDoS attacks, and predatory behavior) + - Recreate tragic events (mass shootings, terrorism, natural disasters, human rights violations) + +4. **Platform Abuse** + + - Create multiple accounts to avoid punishment + - Upload disruptive content or perform operations that harm MHSF services + - Attempt to direct users off-platform unnecessarily + - Attack another server's content + - Spam, abuse, or misuse the MHSF API + +5. **Scams & Manipulation** + - Conduct scams or manipulate users into sharing personal information or valuable items + - Sell or transfer MHSF accounts, server claims, or other platform privileges + +## Enforcement & Punishment + +### Standard Enforcement Process + +For most violations, MHSF follows this process: + +1. **First Violation**: Warning and content removal +2. **Repeated Violation**: Permanent removal from the MHSF platform + +### Types of Enforcement Actions + +Depending on the severity of the violation, actions may include: + +- Content removal +- Temporary suspension +- Account ban +- IP ban + + + MHSF staff may use any enforcement action necessary to effectively address + threats to the platform. Certain serious violations will result in immediate + permanent bans without warning. + + +## Appeals Process + +If you believe your punishment was unjustified, you may appeal by contacting [support@mhsf.app](mailto:support@mhsf.app). + + + You may only file **one appeal per punishment**. You can only have one active + appeal at a time. + + +## Reporting violations + +If you believe another user has violated these rules, you can submit a report after logging in by following our [reporting guide](/docs/guides/reporting-server). + +## Additional Information + +### Age Requirement + +Users must be at least 13 years old to use, interact with, or sign up for MHSF and its services. Users found to be under 13 will be banned in compliance with data protection laws and Minehut regulations. + +### API Usage + +When using the MHSF API: + +- Include a proper `User-Agent` (or `X-Website-Agent` on the client) HTTP header with your project name and link +- Do not spam or abuse the API +- Do not use the API to violate Minehut, Discord, Minecraft, or legal regulations + +### Rule Changes + +These rules may be modified without prior notice. MHSF staff may take action against content or behavior that undermines the platform's interests, even if not explicitly covered in this document. + +For questions, contact us at [support@mhsf.app](mailto:support@mhsf.app) + +Last modified: Mar. 1, 2025 diff --git a/apps/docs/package.json b/apps/docs/package.json new file mode 100644 index 0000000..3d44316 --- /dev/null +++ b/apps/docs/package.json @@ -0,0 +1,12 @@ +{ + "name": "docs", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "dev": "mintlify dev" + }, + "devDependencies": { + "mintlify": "^4.0.417" + } +} diff --git a/apps/www/src/app/(main)/server/[server]/customize/page.tsx b/apps/www/src/app/(main)/server/[server]/customize/page.tsx index ac0cb2b..0ffc420 100644 --- a/apps/www/src/app/(main)/server/[server]/customize/page.tsx +++ b/apps/www/src/app/(main)/server/[server]/customize/page.tsx @@ -46,7 +46,7 @@ export async function generateMetadata( const json = await ( await fetch("https://api.minehut.com/server/" + server + "?byName=true", { headers: { - "User-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, + "X-Website-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, }, }) ).json(); diff --git a/apps/www/src/app/(main)/server/[server]/page.tsx b/apps/www/src/app/(main)/server/[server]/page.tsx index d209836..23c7f82 100644 --- a/apps/www/src/app/(main)/server/[server]/page.tsx +++ b/apps/www/src/app/(main)/server/[server]/page.tsx @@ -51,7 +51,7 @@ export async function generateMetadata( const json = await ( await fetch("https://api.minehut.com/server/" + server + "?byName=true", { headers: { - "User-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, + "X-Website-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, }, }) ).json(); diff --git a/apps/www/src/app/global-error.tsx b/apps/www/src/app/global-error.tsx deleted file mode 100644 index b38da25..0000000 --- a/apps/www/src/app/global-error.tsx +++ /dev/null @@ -1,20 +0,0 @@ -'use client'; - -export default function GlobalError({ - error, - reset, -}: { - error: Error & { digest?: string }; - reset: () => void; -}) { - return ( - - -
-

Something went wrong!

- -
- - - ); -} \ No newline at end of file diff --git a/apps/www/src/app/layout.tsx b/apps/www/src/app/layout.tsx deleted file mode 100644 index 4644be6..0000000 --- a/apps/www/src/app/layout.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * MHSF, Minehut Server List - * All external content is rather licensed under the ECA Agreement - * located here: https://mhsf.app/docs/legal/external-content-agreement - * - * All code under MHSF is licensed under the MIT License - * by open source contributors - * - * Copyright (c) 2025 dvelo - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -import "./globals.css"; - -export default function RootLayout({ - children, -}: { - children: React.ReactNode; -}) { - return ( - - -
{children}
- - - ); -} diff --git a/apps/www/src/app/not-found.tsx b/apps/www/src/app/not-found.tsx deleted file mode 100644 index 3261c72..0000000 --- a/apps/www/src/app/not-found.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* - * MHSF, Minehut Server List - * All external content is rather licensed under the ECA Agreement - * located here: https://mhsf.app/docs/legal/external-content-agreement - * - * All code under MHSF is licensed under the MIT License - * by open source contributors - * - * Copyright (c) 2025 dvelo - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to - * deal in the Software without restriction, including without limitation the - * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - * sell copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -export default async function NotFound() { - return ( - - -
-
-

404 - Page Not Found

-

- The page you are looking for could not be found. -

- - Return to Home - -
-
- - - ); -} diff --git a/apps/www/src/components/AfterServerView.tsx b/apps/www/src/components/AfterServerView.tsx index 0853169..34e3fdf 100644 --- a/apps/www/src/components/AfterServerView.tsx +++ b/apps/www/src/components/AfterServerView.tsx @@ -92,7 +92,7 @@ export default function AfterServerView({ server }: { server: string }) { } fetch("https://api.minehut.com/server/" + server + "?byName=true", { headers: { - "User-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, + "X-Website-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, }, }).then((c) => c.json().then((n) => setServerObject(n.server))); getMinehutIcons().then((i) => { diff --git a/apps/www/src/lib/list.ts b/apps/www/src/lib/list.ts index 4bc125f..34f3ae0 100644 --- a/apps/www/src/lib/list.ts +++ b/apps/www/src/lib/list.ts @@ -31,6 +31,7 @@ import { toast } from "sonner"; import { OnlineServer } from "./types/mh-server"; import MiniMessage from "minimessage-js"; +import { version } from "@/config/version"; var numberOfItemsInView = 20; @@ -55,7 +56,7 @@ export default class ServersList { return new Promise((g, bc) => { fetch("https://api.minehut.com/servers", { headers: { - "User-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, + "X-Website-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, }, }) .then((b) => { diff --git a/apps/www/src/lib/single.ts b/apps/www/src/lib/single.ts index 7f54275..a3e7e4e 100644 --- a/apps/www/src/lib/single.ts +++ b/apps/www/src/lib/single.ts @@ -54,7 +54,7 @@ export default class ServerSingle { return new Promise((g, bc) => { fetch("https://api.minehut.com/server/" + this.name + "?byName=true", { headers: { - "User-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, + "X-Website-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, }, }) .then((d) => { @@ -65,7 +65,7 @@ export default class ServerSingle { if (this.online === true && skipOnline !== true) { fetch("https://api.minehut.com/servers", { headers: { - "User-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, + "X-Website-Agent": `MHSF ${version} (github.com/DeveloLongScript/MHSF)`, }, }).then((l) => l.json().then((o) => { diff --git a/docs/package.json b/docs/package.json index a19df03..3d44316 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,6 +3,9 @@ "version": "1.0.0", "main": "index.js", "license": "MIT", + "scripts": { + "dev": "mintlify dev" + }, "devDependencies": { "mintlify": "^4.0.417" }