Files
crshqd/uiiuvdzfghvfd e3f117a384 h
2026-01-28 00:10:48 -05:00

44 lines
1.5 KiB
JavaScript

const servers = [
'fra-1.2v2.io',
'usa-1.2v2.io'
];
function getRandomServer() {
return servers[Math.floor(Math.random() * servers.length)];
}
async function fetchBestRegion() {
const maxAttempts = 3;
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
const randomServer = getRandomServer();
try {
const response = await fetch(`https://${randomServer}/api/init`);
if (response.ok) {
const data = await response.json();
const bestRegion = data.region; // use the "region" from the response JSON
console.log(`Attempt ${attempt}: Best region from server ${randomServer}: ${bestRegion}`);
return bestRegion;
} else {
console.error(`Attempt ${attempt}: Server ${randomServer} responded with status: ${response.status}`);
}
} catch (error) {
console.error(`Attempt ${attempt}: Error fetching best region from ${randomServer}:`, error);
}
}
console.error('All attempts failed. Falling back to default: USA');
return 'USA';
}
const cachedBestServer = localStorage.getItem('bestServer');
if (!cachedBestServer) {
fetchBestRegion().then(bestRegion => {
console.log('Best region to connect (Saving to localStorage):', bestRegion);
localStorage.setItem('bestServer', bestRegion);
}).catch(error => {
console.error('Error during region fetching:', error);
});
} else {
console.log('Using cached best server:', cachedBestServer);
}