diff --git a/servers/index.html b/servers/index.html
index fab5812..1147617 100644
--- a/servers/index.html
+++ b/servers/index.html
@@ -65,7 +65,7 @@
- Discover servers publically hosted on My-MC. Our public Realms list resets daily at 12 AM EST daily.
+ Discover servers publically hosted on My-MC. Our public Realms list resets daily at 12 AM EST.
diff --git a/servers/server_list.js b/servers/server_list.js
index b7855f7..cc06f26 100644
--- a/servers/server_list.js
+++ b/servers/server_list.js
@@ -1,150 +1,151 @@
- // Function to copy text to clipboard and trigger animation
- function copyToClipboard(text, button) {
- navigator.clipboard.writeText(text).then(() => {
- button.classList.add('copied');
- setTimeout(() => {
- button.classList.remove('copied');
- }, 2000);
- }).catch(err => {
- console.error('Failed to copy:', err);
- });
- }
+// Function to copy text to clipboard and trigger animation
+function copyToClipboard(text, button) {
+ navigator.clipboard.writeText(text).then(() => {
+ button.classList.add('copied');
+ setTimeout(() => {
+ button.classList.remove('copied');
+ }, 2000);
+ }).catch(err => {
+ console.error('Failed to copy:', err);
+ });
+}
- // Function to create a server card
- function createServerCard(server, isNew = false) {
+// Function to create a server card
+// Function to create a server card
+function createServerCard(server, isNew = false) {
+ const ownerName = server.ops && server.ops.length > 0 ? server.ops[0].name : 'Unknown';
+ const serverCard = document.createElement('div');
+ serverCard.className = `feature-card tilt-card ${isNew ? 'new-server-animation' : ''}`;
+ serverCard.dataset.connect = server.connect; // Add identifier
+ serverCard.innerHTML = `
+
+
+
${ownerName}'s Server
+
+
MOTD: ${server.motd}
+
Version: ${server.gameVersion}
+
Gamemode: ${server.gamemode}
+
Hardcore: ${server.hardcore ? 'Yes' : 'No'}
+
Status: ${server.online ? 'Online' : 'Offline'}
+
+
Connect:
+
${server.connect}
+
+
+
+
+
+
+
+
+
+ `;
+ return serverCard;
+}
+
+// Function to update server list dynamically
+function updateServerList(newServers) {
+ const serverList = document.getElementById('server-list');
+ const currentCards = Array.from(serverList.children);
+ const currentConnects = currentCards.map(card => card.dataset.connect);
+ const newConnects = newServers.map(server => server.connect);
+
+ // Find new servers
+ const serversToAdd = newServers.filter(server => !currentConnects.includes(server.connect));
+ const serversToRemove = currentCards.filter(card => !newConnects.includes(card.dataset.connect));
+
+ // Remove old servers
+ serversToRemove.forEach(card => {
+ card.style.opacity = '0';
+ card.style.transform = 'translateY(20px)';
+ setTimeout(() => card.remove(), 300);
+ });
+
+ // Add new servers with animation
+ serversToAdd.forEach(server => {
+ const newCard = createServerCard(server, true);
+ serverList.insertBefore(newCard, serverList.firstChild);
+ });
+
+ // Update existing servers
+ newServers.forEach(server => {
+ const existingCard = currentCards.find(card => card.dataset.connect === server.connect);
+ if (existingCard) {
const ownerName = server.ops && server.ops.length > 0 ? server.ops[0].name : 'Unknown';
- const serverCard = document.createElement('div');
- serverCard.className = `feature-card tilt-card ${isNew ? 'new-server-animation' : ''}`;
- serverCard.dataset.connect = server.connect; // Add identifier
- serverCard.innerHTML = `
-
-
-
${ownerName}'s Server
-
-
MOTD: ${server.motd}
-
Version: ${server.gameVersion}
-
Gamemode: ${server.gamemode}
-
Hardcore: ${server.hardcore ? 'Yes' : 'No'}
-
Status: ${server.online ? 'Online' : 'Offline'}
-
-
Connect:
-
${server.connect}
-
-
-
-
-
-
-
-
-
- `;
- return serverCard;
+ const updatedCard = createServerCard(server);
+ existingCard.innerHTML = updatedCard.innerHTML;
+ existingCard.className = updatedCard.className;
}
+ });
- // Function to update server list dynamically
- function updateServerList(newServers) {
- const serverList = document.getElementById('server-list');
- const currentCards = Array.from(serverList.children);
- const currentConnects = currentCards.map(card => card.dataset.connect);
- const newConnects = newServers.map(server => server.connect);
+ console.log('Server list updated:', {
+ added: serversToAdd.length,
+ removed: serversToRemove.length,
+ total: newServers.length
+ });
+}
- // Find new servers
- const serversToAdd = newServers.filter(server => !currentConnects.includes(server.connect));
- const serversToRemove = currentCards.filter(card => !newConnects.includes(card.dataset.connect));
+// Function to fetch and display servers
+async function fetchServers() {
+ const serverList = document.getElementById('server-list');
+ const loadingMessage = document.getElementById('loading-message');
+ const errorMessage = document.getElementById('error-message');
+ const searchInput = document.getElementById('search-input');
- // Remove old servers
- serversToRemove.forEach(card => {
- card.style.opacity = '0';
- card.style.transform = 'translateY(20px)';
- setTimeout(() => card.remove(), 300);
- });
+ try {
+ const response = await fetch('https://api.my-mc.link/list_all_servers_public');
+ const data = await response.json();
- // Add new servers with animation
- serversToAdd.forEach(server => {
- const newCard = createServerCard(server, true);
- serverList.insertBefore(newCard, serverList.firstChild);
- });
+ if (data.success && data.servers) {
+ loadingMessage.classList.add('hidden');
+ errorMessage.classList.add('hidden');
- // Update existing servers
- newServers.forEach(server => {
- const existingCard = currentCards.find(card => card.dataset.connect === server.connect);
- if (existingCard) {
- const ownerName = server.ops && server.ops.length > 0 ? server.ops[0].name : 'Unknown';
- const updatedCard = createServerCard(server);
- existingCard.innerHTML = updatedCard.innerHTML;
- existingCard.className = updatedCard.className;
- }
- });
+ // Store servers globally for search filtering
+ window.serverData = data.servers;
- console.log('Server list updated:', {
- added: serversToAdd.length,
- removed: serversToRemove.length,
- total: newServers.length
- });
- }
-
- // Function to fetch and display servers
- async function fetchServers() {
- const serverList = document.getElementById('server-list');
- const loadingMessage = document.getElementById('loading-message');
- const errorMessage = document.getElementById('error-message');
- const searchInput = document.getElementById('search-input');
-
- try {
- const response = await fetch('https://api.my-mc.link/list_all_servers_public');
- const data = await response.json();
-
- if (data.success && data.servers) {
- loadingMessage.classList.add('hidden');
- errorMessage.classList.add('hidden');
-
- // Store servers globally for search filtering
- window.serverData = data.servers;
-
- // Initial render or update
- if (serverList.children.length === 0) {
- window.serverData.forEach(server => {
- serverList.appendChild(createServerCard(server));
- });
- } else {
- updateServerList(window.serverData);
- }
-
- // Add search event listener (only once)
- if (!searchInput.dataset.listener) {
- searchInput.dataset.listener = 'true';
- searchInput.addEventListener('input', () => {
- const searchTerm = searchInput.value.trim().toLowerCase();
- const filteredServers = window.serverData.filter(server => {
- const ownerName = server.ops && server.ops.length > 0 ? server.ops[0].name.toLowerCase() : 'unknown';
- const motd = server.motd.toLowerCase();
- const version = server.gameVersion.toLowerCase();
- const status = server.online ? 'online' : 'offline';
-
- return (
- ownerName.includes(searchTerm) ||
- motd.includes(searchTerm) ||
- version.includes(searchTerm) ||
- status.includes(searchTerm)
- );
- });
-
- updateServerList(filteredServers);
- });
- }
- } else {
- throw new Error('No servers found');
- }
- } catch (error) {
- loadingMessage.classList.add('hidden');
- errorMessage.classList.remove('hidden');
- console.error('Error fetching servers:', error);
+ // Initial render or update
+ if (serverList.children.length === 0) {
+ window.serverData.forEach(server => {
+ serverList.appendChild(createServerCard(server));
+ });
+ } else {
+ updateServerList(window.serverData);
}
+
+ // Add search event listener (only once)
+ if (!searchInput.dataset.listener) {
+ searchInput.dataset.listener = 'true';
+ searchInput.addEventListener('input', () => {
+ const searchTerm = searchInput.value.trim().toLowerCase();
+ const filteredServers = window.serverData.filter(server => {
+ const ownerName = server.ops && server.ops.length > 0 ? server.ops[0].name.toLowerCase() : 'unknown';
+ const motd = server.motd.toLowerCase();
+ const version = server.gameVersion.toLowerCase();
+ const status = server.online ? 'online' : 'offline';
+
+ return (
+ ownerName.includes(searchTerm) ||
+ motd.includes(searchTerm) ||
+ version.includes(searchTerm) ||
+ status.includes(searchTerm)
+ );
+ });
+
+ updateServerList(filteredServers);
+ });
+ }
+ } else {
+ throw new Error('No servers found');
}
+ } catch (error) {
+ loadingMessage.classList.add('hidden');
+ errorMessage.classList.remove('hidden');
+ console.error('Error fetching servers:', error);
+ }
+}
- // Initial fetch
- fetchServers();
+// Initial fetch
+fetchServers();
- // Fetch servers every 60 seconds
- setInterval(fetchServers, 60000);
\ No newline at end of file
+// Fetch servers every 60 seconds
+setInterval(fetchServers, 60000);
\ No newline at end of file