896 lines
43 KiB
HTML
896 lines
43 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>My-MC.Link API Wiki</title>
|
||
<link rel="icon" href="https://minecraft.wiki/images/Favicon.png" type="image/png">
|
||
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700;900&display=swap" rel="stylesheet">
|
||
<link href="https://my-mc.link/css/style_min.css?p=5" rel="stylesheet">
|
||
<link href="https://my-mc.link/favicon.ico" rel="icon" type="image/x-icon">
|
||
<!-- Prism.js for syntax highlighting -->
|
||
<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-okaidia.min.css" rel="stylesheet">
|
||
<style>
|
||
.code-block-wrapper {
|
||
position: relative;
|
||
margin-bottom: 1rem;
|
||
}
|
||
.copy-button {
|
||
position: absolute;
|
||
top: 0.5rem;
|
||
right: 0.5rem;
|
||
background: #2d3748;
|
||
color: #e2e8f0;
|
||
border: none;
|
||
padding: 0.5rem;
|
||
border-radius: 0.25rem;
|
||
cursor: pointer;
|
||
font-size: 0.875rem;
|
||
transition: background 0.2s;
|
||
}
|
||
.copy-button:hover {
|
||
background: #4a5568;
|
||
}
|
||
.copy-button.copied {
|
||
background: #2f855a;
|
||
}
|
||
pre[class*="language-"] {
|
||
margin: 0;
|
||
padding: 1rem;
|
||
border-radius: 0.5rem;
|
||
position: relative;
|
||
}
|
||
/* Table of Contents Styles */
|
||
.toc {
|
||
background: rgba(17, 24, 39, 0.8);
|
||
backdrop-filter: blur(10px);
|
||
border-radius: 12px;
|
||
padding: 1.5rem;
|
||
margin: 2rem auto;
|
||
max-width: 800px;
|
||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
||
}
|
||
.toc h2 {
|
||
font-family: 'minecraft-font', sans-serif;
|
||
font-size: 1.75rem;
|
||
text-align: center;
|
||
background: linear-gradient(to right, #14b8a6, #3b82f6);
|
||
-webkit-background-clip: text;
|
||
background-clip: text;
|
||
color: transparent;
|
||
margin-bottom: 1.5rem;
|
||
}
|
||
.toc ul {
|
||
list-style: none;
|
||
padding: 0;
|
||
}
|
||
.toc ul ul {
|
||
padding-left: 1.5rem;
|
||
}
|
||
.toc li {
|
||
margin: 0.75rem 0;
|
||
}
|
||
.toc a {
|
||
color: #d1d5db;
|
||
text-decoration: none;
|
||
font-size: 1.125rem;
|
||
font-weight: 500;
|
||
transition: color 0.3s ease, transform 0.3s ease;
|
||
display: block;
|
||
padding: 0.5rem 1rem;
|
||
border-radius: 8px;
|
||
}
|
||
.toc ul ul a {
|
||
font-size: 1rem;
|
||
}
|
||
.toc a:hover {
|
||
color: #14b8a6;
|
||
transform: translateX(10px);
|
||
background: rgba(255, 255, 255, 0.05);
|
||
}
|
||
@media (max-width: 640px) {
|
||
.toc {
|
||
padding: 1rem;
|
||
margin: 1rem;
|
||
}
|
||
.toc h2 {
|
||
font-size: 1.5rem;
|
||
}
|
||
.toc a {
|
||
font-size: 1rem;
|
||
}
|
||
.toc ul ul a {
|
||
font-size: 0.875rem;
|
||
}
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<!-- Particle Effects -->
|
||
<div class="particle" style="left: 10%; top: 20%; animation-delay: 0s;"></div>
|
||
<div class="particle large" style="left: 30%; top: 50%; animation-delay: 2s;"></div>
|
||
<div class="particle" style="left: 50%; top: 30%; animation-delay: 4s;"></div>
|
||
<div class="particle large" style="left: 70%; top: 60%; animation-delay: 6s;"></div>
|
||
<div class="particle" style="left: 20%; top: 80%; animation-delay: 8s;"></div>
|
||
|
||
<header class="header-bg py-16 text-center relative z-10">
|
||
<div class="header-content flex items-center justify-between max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||
<div>
|
||
<h1 class="text-5xl minecraft-font bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
|
||
<a href="https://info.my-mc.link/">My-MC.Link API Wiki</a></h1>
|
||
<p class="text-lg mt-4 opacity-90 tracking-wide font-medium">Documentation for My-MC.Link REST API</p>
|
||
</div>
|
||
<a href="https://my-mc.link" class="btn-minecraft text-base self-center" target="_blank">Home</a>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- Table of Contents -->
|
||
<nav class="toc">
|
||
<h2>Table of Contents</h2>
|
||
<ul>
|
||
<li><a href="#getting-started-with-the-api">Getting Started with the API</a></li>
|
||
<li>
|
||
<a href="#api-endpoints">API Endpoints</a>
|
||
<ul>
|
||
<li><a href="#get-hello">GET /hello</a></li>
|
||
<li><a href="#get-time">GET /time</a></li>
|
||
<li><a href="#get-stats">GET /stats</a></li>
|
||
<li><a href="#get-log">GET /log</a></li>
|
||
<li><a href="#get-start">GET /start</a></li>
|
||
<li><a href="#get-stop">GET /stop</a></li>
|
||
<li><a href="#get-restart">GET /restart</a></li>
|
||
<li><a href="#get-my-link">GET /my-link</a></li>
|
||
<li><a href="#get-my-geyser-link">GET /my-geyser-link</a></li>
|
||
<li><a href="#get-my-sftp">GET /my-sftp</a></li>
|
||
<li><a href="#get-my-hash">GET /my-hash</a></li>
|
||
<li><a href="#get-my-geyser-hash">GET /my-geyser-hash</a></li>
|
||
<li><a href="#get-my-sftp-hash">GET /my-sftp-hash</a></li>
|
||
<li><a href="#get-list-players">GET /list-players</a></li>
|
||
<li><a href="#get-website">GET /website</a></li>
|
||
<li><a href="#get-map">GET /map</a></li>
|
||
<li><a href="#post-ban">POST /ban</a></li>
|
||
<li><a href="#post-unban">POST /unban</a></li>
|
||
<li><a href="#post-say">POST /say</a></li>
|
||
<li><a href="#post-tell">POST /tell</a></li>
|
||
<li><a href="#post-console">POST /console</a></li>
|
||
<li><a href="#post-give">POST /give</a></li>
|
||
<li><a href="#post-install">POST /install</a></li>
|
||
<li><a href="#post-uninstall">POST /uninstall</a></li>
|
||
<li><a href="#post-search">POST /search</a></li>
|
||
<li><a href="#get-mod-list">GET /mod-list</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="#explore-more">Explore More</a></li>
|
||
</ul>
|
||
</nav>
|
||
|
||
<main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-16 relative z-10">
|
||
<section id="getting-started-with-the-api" class="section-bg p-8 sm:p-10 mb-12">
|
||
<h2 class="text-3xl minecraft-font mb-8 text-center bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
|
||
Getting Started with the API</h2>
|
||
<p class="text-lg mb-8 max-w-3xl mx-auto opacity-90 leading-relaxed">
|
||
To use the My-MC.Link API, you need an API key. Generate one by running <code class="bg-gray-800 text-teal-400 px-1 rounded">/api-key</code> in our server. The key, valid for 365 days, will be sent to your Direct Messages.
|
||
</p>
|
||
<p class="text-lg mb-8 max-w-3xl mx-auto opacity-90 leading-relaxed">
|
||
<strong>API URL:</strong> <code class="bg-gray-800 text-teal-400 px-1 rounded">https://api.my-mc.link</code><br>
|
||
Include the authentication header <code class="bg-gray-800 text-teal-400 px-1 rounded">x-my-mc-auth</code> with your token in all requests.
|
||
</p>
|
||
<p class="text-lg mb-8 max-w-3xl mx-auto opacity-90 leading-relaxed">
|
||
The examples below use <a href="https://www.npmjs.com/package/unirest" class="underline text-teal-400 hover:text-blue-400">UniRest</a> for JavaScript. New methods will be added over time, so check back regularly.
|
||
</p>
|
||
</section>
|
||
|
||
<section id="api-endpoints" class="section-bg p-8 sm:p-10 mb-12">
|
||
<h2 class="text-3xl minecraft-font mb-8 text-center bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
|
||
API Endpoints</h2>
|
||
<div class="grid grid-cols-1 gap-6">
|
||
<!-- GET /hello -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-hello" class="text-xl minecraft-font mb-3 text-teal-400">GET /hello</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Test the API and verify the authenticated user.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/hello')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{ success: true, message: 'Hello, mc_342128351638585344!' }</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /time -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-time" class="text-xl minecraft-font mb-3 text-teal-400">GET /time</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Check the expiration time of your API key.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/time')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
keyexpireString: 'Tue Apr 15 2025 06:14:59 GMT-0400 (Eastern Daylight Time)',
|
||
expireDate: '2025-04-15T10:14:59.000Z',
|
||
expireEpoch: 1744712099000
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /stats -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-stats" class="text-xl minecraft-font mb-3 text-teal-400">GET /stats</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve statistics for your Minecraft server.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/stats')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
stats: {
|
||
serverName: 'mc_342128351638585344',
|
||
memory: { raw: '185MiB / 4GiB', percent: '4.52%' },
|
||
cpu: '317.98%'
|
||
}
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /log -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-log" class="text-xl minecraft-font mb-3 text-teal-400">GET /log</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Get the URL for your server’s live log.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/log')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'https://logs.my-mc.link/container/3a48afc921c6'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /start -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-start" class="text-xl minecraft-font mb-3 text-teal-400">GET /start</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Start your server container.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/start')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{ success: true, message: 'Started', completed: 'OK' }</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /stop -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-stop" class="text-xl minecraft-font mb-3 text-teal-400">GET /stop</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Stop your server container.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/stop')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{ success: true, message: 'Stopped', completed: 'OK' }</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /restart -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-restart" class="text-xl minecraft-font mb-3 text-teal-400">GET /restart</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Restart your server container.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/restart')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{ success: true, message: 'Restarted', completed: 'OK' }</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /my-link -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-my-link" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-link</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Generate or retrieve your server’s connection link.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/my-link')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
action: 'New-Link',
|
||
message: 'Success!',
|
||
hostname: 'my-mc.link',
|
||
port: 40129
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /my-geyser-link -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-my-geyser-link" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-geyser-link</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Generate or retrieve the Geyser UDP connection link.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/my-geyser-link')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
action: 'New-Geyser-Link',
|
||
message: 'Geyser connection established successfully!',
|
||
hostname: 'my-mc.link',
|
||
port: 35633
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /my-sftp -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-my-sftp" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-sftp</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Generate or retrieve the SFTP connection details.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/my-sftp')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
action: 'New-Link',
|
||
message: 'Success!',
|
||
hostname: 'sftp://my-mc.link',
|
||
port: 34149,
|
||
user: 'mc',
|
||
password: 'Fyuak12tq0NcuvcQ'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /my-hash -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-my-hash" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-hash</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve the P2P hash for your server container.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/my-hash')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
action: 'getConnectionHash',
|
||
message: '9b63a54507d4473350cec0ce34c4e6f9ass3657887e659a7efd341e32100c15e'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /my-geyser-hash -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-my-geyser-hash" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-geyser-hash</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve the P2P hash for Geyser connections.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/my-geyser-hash')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
action: 'getConnectionHashGeyser',
|
||
message: 'hs://s0006fbd2c4d48a4cef8df3417deec0194888d115672fb12bdaf91d61dd4ee0087d1'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /my-sftp-hash -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-my-sftp-hash" class="text-xl minecraft-font mb-3 text-teal-400">GET /my-sftp-hash</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve the P2P hash for SFTP connections.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/my-sftp-hash')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
action: 'getConnectionHashSFTP',
|
||
message: '1832805e6dd13d61572c6cb1egg7f071acc65507c5df9f78a7a6ae39ae6f206'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /list-players -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-list-players" class="text-xl minecraft-font mb-3 text-teal-400">GET /list-players</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Get information about players connected to the server.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/list-players')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'On mc_342128351638585344 there are 1 of a max of 20 players.',
|
||
players: [ ' snxravenmc' ]
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /website -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-website" class="text-xl minecraft-font mb-3 text-teal-400">GET /website</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve your server’s website URL.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/website')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
title: 'Website',
|
||
message: 'https://smjdmfqkl25kw6mdkveqqu6hddbyv4hkroojuxfuv7k6iwptz2bq.my-mc.link'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /map -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-map" class="text-xl minecraft-font mb-3 text-teal-400">GET /map</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Retrieve your server’s BlueMap URL.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/map')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
title: 'BlueMap',
|
||
message: 'https://sf5bk42u6y32wsvifa3rvowioowfsypem3qrebjfaxs5vi5z3asa.my-mc.link'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /ban -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-ban" class="text-xl minecraft-font mb-3 text-teal-400">POST /ban</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Ban a user by their username.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"username": "snxravenmc"}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/ban')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"username": "snxravenmc"})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'snxravenmc has been banned from mc_342128351638585344'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /unban -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-unban" class="text-xl minecraft-font mb-3 text-teal-400">POST /unban</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Unban a user by their username.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"username": "snxravenmc"}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/unban')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"username": "snxravenmc"})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'snxravenmc has been unbanned from mc_342128351638585344'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /say -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-say" class="text-xl minecraft-font mb-3 text-teal-400">POST /say</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Send a global message to the server via RCON.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"message": "Hello There, This is a test!\nDid this work?"}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/say')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"message": "Hello There, This is a test!\nDid this work?"})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{ success: true, message: 'Message Sent Successfully!' }</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /tell -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-tell" class="text-xl minecraft-font mb-3 text-teal-400">POST /tell</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Send a private message to a specific user via RCON.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"username": "snxravenmc","message": "hiiiii"}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/tell')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"username": "snxravenmc","message": "hiiiii"})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{ success: true, message: 'Message Sent Successfully!' }</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /console -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-console" class="text-xl minecraft-font mb-3 text-teal-400">POST /console</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Send RCON commands to your server.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"command": "time set day"}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/console')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"command": "time set day"})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{ success: true, message: 'Set the time to 1000' }</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /give -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-give" class="text-xl minecraft-font mb-3 text-teal-400">POST /give</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Give items to a specific user.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"username": "snxravenmc", item: "torch", amount: 1}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/give')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"username": "snxravenmc", item: "torch", amount: 1})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'Gave snxravenmc 1 torch',
|
||
username: 'snxravenmc',
|
||
amount: 1,
|
||
item: 'torch'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /install -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-install" class="text-xl minecraft-font mb-3 text-teal-400">POST /install</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Install a mod using a Modrinth ID or keyword search.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"mod": "IDHERE"}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/install')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"mod": "IDHERE"})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'Task Complete on mc_342128351638585344',
|
||
log: '- Searching for abooMhox...\n' +
|
||
'- Installing Tree Harvester...\n' +
|
||
'✔ Successfully installed Tree Harvester\n'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /uninstall -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-uninstall" class="text-xl minecraft-font mb-3 text-teal-400">POST /uninstall</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Uninstall a mod using a Modrinth ID or keyword search.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"mod": "IDHERE"}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/uninstall')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"mod": "IDHERE"})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'Task Complete on mc_342128351638585344',
|
||
log: '- Uninstalling abooMhox...\n' +
|
||
'- Uninstalling abooMhox...\n' +
|
||
'✔ Tree Harvester successfully uninstalled!\n'
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- POST /search -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="post-search" class="text-xl minecraft-font mb-3 text-teal-400">POST /search</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">Search for mods by keyword with compatibility checking.</p>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-2"><strong>Payload:</strong></p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-json"><code>{"mod": "Tree","offset": 0}</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.post('https://api.my-mc.link/search')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.send({"mod": "Tree","offset": 0})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'Search Results',
|
||
limit: 10,
|
||
offset: 0,
|
||
totalHits: 23,
|
||
results: [
|
||
{
|
||
title: 'FallingTree',
|
||
description: 'Break down your trees by only cutting one piece of it',
|
||
server: 'required',
|
||
client: 'unsupported',
|
||
downloads: 894148,
|
||
installID: 'Fb4jn8m6'
|
||
},
|
||
...
|
||
]
|
||
}</code></pre>
|
||
</div>
|
||
|
||
<!-- GET /mod-list -->
|
||
<div class="feature-card tilt-card">
|
||
<h3 id="get-mod-list" class="text-xl minecraft-font mb-3 text-teal-400">GET /mod-list</h3>
|
||
<p class="text-sm opacity-90 leading-relaxed mb-4">List all mods installed on your server.</p>
|
||
<div class="code-block-wrapper">
|
||
<pre class="language-javascript"><code>var unirest = require('unirest');
|
||
|
||
unirest
|
||
.get('https://api.my-mc.link/mod-list')
|
||
.headers({'Accept': 'application/json', 'Content-Type': 'application/json', 'x-my-mc-auth': 'TokenHere'})
|
||
.then((response) => {
|
||
console.log(response.body)
|
||
})</code></pre>
|
||
<button class="copy-button" onclick="copyCode(this)">Copy</button>
|
||
</div>
|
||
<p class="text-sm opacity-90 leading-relaxed mt-4"><strong>Response:</strong></p>
|
||
<pre class="language-json"><code>{
|
||
success: true,
|
||
message: 'Mods listed for mc_342128351638585344',
|
||
mods: [
|
||
{
|
||
name: 'Adrenaserver',
|
||
id: 'H9OFWiay',
|
||
fileName: 'Adrenaserver-1.5.0+1.20.4.fabric.mrpack',
|
||
version: '1.5.0+1.20.4.fabric',
|
||
source: 'Modrinth',
|
||
essential: false,
|
||
dependencies: ''
|
||
},
|
||
...
|
||
]
|
||
}</code></pre>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section id="explore-more" class="section-bg p-8 sm:p-10 text-center mb-12">
|
||
<h2 class="text-3xl minecraft-font mb-6 bg-clip-text text-transparent bg-gradient-to-r from-teal-400 to-blue-500">
|
||
Explore More</h2>
|
||
<p class="text-lg mb-8 max-w-2xl mx-auto opacity-90 leading-relaxed">
|
||
Ready to automate your server?<BR>Join our community, dive into our resources, and start building with the My-MC.Link API.
|
||
</p>
|
||
<div class="flex justify-center gap-4 flex-wrap">
|
||
<a href="https://join.my-mc.link" class="btn-minecraft text-base" target="_blank">Join Our Discord</a>
|
||
<a href="https://wiki.my-mc.link" class="btn-minecraft text-base" target="_blank">Explore the Wiki</a>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<footer class="bg-gray-900/20 backdrop-filter backdrop-blur-xl py-8 text-center relative z-10">
|
||
<p class="text-sm opacity-90">© 2025 My-MC.Link. All rights reserved.</p>
|
||
<p class="text-sm opacity-90 mt-3">
|
||
Powered by <a href="https://holesail.io" class="underline" target="_blank">Holesail</a> with services
|
||
donated by <a href="https://raven-scott.fyi" class="underline">SNXRaven</a>
|
||
</p>
|
||
</footer>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-javascript.min.js"></script>
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-json.min.js"></script>
|
||
<script>
|
||
function copyCode(button) {
|
||
const codeBlock = button.previousElementSibling.querySelector('code');
|
||
const text = codeBlock.textContent;
|
||
navigator.clipboard.writeText(text).then(() => {
|
||
button.textContent = 'Copied!';
|
||
button.classList.add('copied');
|
||
setTimeout(() => {
|
||
button.textContent = 'Copy';
|
||
button.classList.remove('copied');
|
||
}, 2000);
|
||
}).catch(err => {
|
||
console.error('Failed to copy: ', err);
|
||
});
|
||
}
|
||
</script>
|
||
<script src="../../mc/js/main.js"></script>
|
||
</body>
|
||
|
||
</html> |