40servidoresMC 40servidoresMC

Discord oficial de 40servidoresMC. Comunidad, soporte y rango Owner para dueños de servidores.

Unirme
Icono de Fenixmc
🇲🇽 SemiPremium Online #282 ranking Java + Bedrock

Fenixmc

· 1.21-26.2 · 8 / 100 jugadores · 0 pts

Sobre el servidor

🔥 FÉNIX MC — ¡LA AVENTURA COMIENZA AQUÍ! 🔥 ⚔️ ¿Estás listo para demostrar de qué estás hecho? ⚔️ Bienvenido a FÉNIX MC, una comunidad donde cada jugador puede crear su propia historia, competir, progresar y disfrutar de una experiencia única. 🐦‍🔥✨ 🌎 MODALIDADES PARA TODOS LOS ESTILOS: ⚔️ UHC — Sobrevive, consigue recursos y demuestra quién es el verdadero campeón. 🥊 PRACTICE — Entrena tus habilidades, domina el PvP y conviértete en el mejor. 🌲 SURVIVAL — Construye, explora, comercia y crea tu propio imperio. 💼 JOBS — Elige tu profesión, trabaja y gana dinero para progresar. 📜 MISIONES — Completa desafíos, consigue recompensas y descubre nuevas aventuras. 💰 ECONOMÍA — Compra, vende, comercia y haz crecer tu fortuna. 🎁 ¡Y MUCHO MÁS! — Eventos, recompensas, sistemas únicos y contenido en constante evolución. 🌟 UNA COMUNIDAD. UNA AVENTURA. UN FÉNIX. 🌟 🐦‍🔥 FÉNIX MC no es simplemente otro servidor de Minecraft... Es un lugar donde tus decisiones, tus habilidades y tus aventuras dejan huella. 🔥 Renace. Progresa. Compite. Domina. 🔥 💻 JAVA: play.fenixmc.me 📱 BEDROCK: play.fenixmc.me 🔌 PUERTO: 19132 ❤️ ÚNETE A NUESTRA COMUNIDAD Y VIVE LA MEJOR AVENTURA. ❤️

Modos de juego

Quests Marriage arenaPVP colors UHC survival Economy Jobs Minijuegos

Jugadores · últimas 48h

Media horaria del histórico de estado del servidor.

Ahora
8
Media
7
Pico
8
01:0009:0017:0001:0009:0017:00
(function() { const root = document.querySelector('[data-prelaunch-feedback-root]'); if (!root) return; const toggle = root.querySelector('[data-feedback-toggle]'); const panel = root.querySelector('[data-feedback-panel]'); const close = root.querySelector('[data-feedback-close]'); const backdrop = root.querySelector('[data-feedback-backdrop]'); const form = root.querySelector('[data-feedback-form]'); const submit = root.querySelector('[data-feedback-submit]'); const status = root.querySelector('[data-feedback-status]'); const captchaHost = root.querySelector('[data-feedback-turnstile-host]'); const setOpen = (open) => { root.classList.toggle('is-open', open); panel.hidden = !open; panel.setAttribute('aria-hidden', open ? 'false' : 'true'); backdrop.hidden = !open; toggle?.setAttribute('aria-expanded', open ? 'true' : 'false'); if (open) { setStatus(''); window.setTimeout(() => form?.querySelector('textarea[name="message"]')?.focus(), 40); if (captchaHost) { captchaHost.hidden = false; // Si api.js ya estaba listo y el partial nunca monto el // captcha por estar el contenedor oculto al parsear, lo // montamos ahora que el panel es visible de verdad. const cfContainer = captchaHost.querySelector('.cf-turnstile'); if (cfContainer && cfContainer.dataset.turnstilePending === '1') { delete cfContainer.dataset.turnstilePending; if (window.mountTurnstile && form) { window.mountTurnstile(cfContainer, form); } } } } }; const setStatus = (message, tone = '') => { if (!status) return; status.textContent = message; status.classList.remove('is-error', 'is-success'); if (tone !== '') status.classList.add(tone); }; toggle?.addEventListener('click', () => setOpen(!root.classList.contains('is-open'))); close?.addEventListener('click', () => setOpen(false)); backdrop?.addEventListener('click', () => setOpen(false)); document.addEventListener('keydown', (event) => { if (event.key === 'Escape') setOpen(false); }); form?.addEventListener('submit', async (event) => { event.preventDefault(); if (!form || !submit) return; // El boton de enviar no se bloquea mientras carga el captcha (ver // _turnstile_init.php, $turnstileGateSubmit=false), asi que hay que // comprobar el token aqui explicitamente antes de disparar el // fetch: el guard de _turnstile_init.php (registrado aparte, al // abrir el panel) se encarga de avisar al usuario en ese caso // (reportValidity, flash en el boton, reset del widget) — este // listener simplemente no debe enviar nada si falta el token. const turnstileToken = form.querySelector('input[name="cf-turnstile-response"]'); if (turnstileToken && !turnstileToken.value) { return; } submit.disabled = true; setStatus('Guardando feedback...'); try { const response = await fetch(form.action, { method: 'POST', body: new FormData(form), credentials: 'same-origin', headers: { 'Accept': 'application/json', 'X-Requested-With': 'XMLHttpRequest' } }); const payload = await response.json().catch(() => ({})); if (!response.ok || !payload.ok) { throw new Error(payload.message || 'No se pudo guardar el feedback.'); } form.reset(); if (window.turnstile) { try { window.turnstile.reset(); } catch (error) {} } setStatus(payload.message || 'Feedback guardado.', 'is-success'); // Deja ver el mensaje de éxito un instante antes de cerrar, en // vez de desaparecer de golpe. window.setTimeout(() => setOpen(false), 1400); } catch (error) { setStatus(error.message || 'No se pudo guardar el feedback.', 'is-error'); } finally { submit.disabled = false; } }); })();