The Coil is designed to be entertaining for both adventure minded and building oriented players. With custom gear and furniture items, there is something for everyone. Players can enjoy hours of PG-13 fun advancing up through the ranks and building their dreams in a claim protected format. You’ll find our helpful staff always ready at hand to help players and maintain a pleasant gaming environment.
What is the IP Address to connect to The Coil MC?
The server IP address for The Coil MC is: Play.TheCoilMC.com. To join the Coil minecraft server, simply click the COPY IP button on the left section of the page, and then follow the instructions below:
To play on The Coil MC once you have copied the server IP Address; open your minecraft client (on version 1.21), navigate to [Multiplayer]: [Add Server]: and on [Server Address] enter (or paste) the IP address (Play.TheCoilMC.com) then select and Join Server.
What Minecraft versions does The Coil MC support?
The Coil MC Server supports a variety of Minecraft versions, however, the suggested version to connect with is 1.21. With this enabled you’ll enjoy the best playing experience on the server, as it was the version the server was built upon.
The Coil MC server is hosted within the USA, and offers an excellent connection and a 100% uptime, so when you are ready to play the server will be ready for you.
What gamemode does The Coil MC support?
Minecraft Servers offer a variety of server categories. The Coil MC supports PvE, PvP, Survival, Survival Games, Discord and gamemodes. This grouping of categories offers the unique playing experience only found within the The Coil MC community.
Thank you for voting
Come back tomorrow to vote again for more rewards!
You can vote again in
24h 00m 00s
IP Copies
Player Count
Server Reviews
This server doesn't have any reviews yet.
gtag('event', 'conversion', {
'send_to': 'AW-17016135656/jYkdCOC8kroaEOi_9rE_',
'value': 0.65,
'currency': 'AUD'
});
const [bedrock_ip, bedrock_port] = bedrock.split(':')
document.querySelector('#bedrock_elements').style.display =
(!!bedrock_ip && bedrock_ip != "0") ? "flex" : "none"
document.querySelector('#java_address > span').textContent = java
document.querySelector('#bedrock_address > span').textContent = bedrock_ip
document.querySelector('#bedrock_port > span').textContent = bedrock_port
copyToClipboard(java).then(function() {
// Send an AJAX request to record the copy count
let xhr = new XMLHttpRequest();
xhr.open('POST', '/scripts/record_copy_count.php', true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send('server_id=' + id);
gtag('event', 'IPCopy', {'event_category': 'UserActions', 'event_label': 'IPCopyEvent'});
});
}
function setActiveButton(name) {
if (name === "vote_success") name = "vote"
let buttons = document.getElementById("tab_buttons").children
for (let i = 0; i < buttons.length; i++) {
let button = buttons.item(i)
if (button.id != `${name}_button` && button.hasAttribute("data-active")) {
button.removeAttribute("data-active")
} else if (button.id === `${name}_button`) {
button.setAttribute("data-active", "true")
}
}
}
function changetab(name) {
setActiveButton(name.split("_tab")[0]);
// Only modify URL if the tab is not 'about'
if (name !== 'about') {
let url = new URL(window.location.href);
let pathParts = url.pathname.split('/').filter(Boolean); // filter out any empty strings due to extra slashes
// Remove 'send-vote' from pathParts
const sendVoteIndex = pathParts.indexOf('send-vote');
if (sendVoteIndex !== -1) {
pathParts.splice(sendVoteIndex, 1);
}
// List of valid tab names (excluding 'about' for URL manipulation logic)
let validTabsForUrl = ["vote", "vote_success", "reviews", "statistics"];
// If the last part is a valid non-about tab, replace it. Otherwise, add the new tab.
if (validTabsForUrl.includes(pathParts[pathParts.length - 1])) {
pathParts[pathParts.length - 1] = name;
} else {
pathParts.push(name);
}
url.pathname = pathParts.join('/');
history.pushState({}, "", url.toString());
} else {
// If switching back to 'about', remove the last path segment if it's a valid tab name
let url = new URL(window.location.href);
let pathParts = url.pathname.split('/').filter(Boolean);
let validTabs = ["vote", "vote_success", "reviews", "statistics"]; // Check against other tabs
if (validTabs.includes(pathParts[pathParts.length - 1])) {
pathParts.pop(); // Remove the last element (the tab name)
url.pathname = pathParts.join('/');
// Use replaceState to avoid creating extra history entries when going back to the default state
history.replaceState({}, "", url.toString());
}
}
let tabs = document.getElementById("tabs").children;
for (let i = 0; i < tabs.length; i++) {
let tab = tabs.item(i);
if (tab.id === `${name}_tab`) {
tab.style = "";
} else {
tab.style = "display: none;";
}
}
}
// URL MANAGING
{
let currentPath = new URL(window.location.href).pathname;
let paths = currentPath.split('/').filter(Boolean); // filter out any empty strings due to extra slashes
let tabName = paths[paths.length - 1];
// List of valid tab names
let validTabs = ["about", "vote", "vote_success", "reviews", "statistics"];
// If there's a tab in the URL, change to that tab. Otherwise, default to the "about" tab.
if (validTabs.includes(tabName)) {
changetab(tabName);
} else {
changetab("about");
}
}
/**
* @param {string} serverId
* @param {"ip-copies" | "player-count"} chartType
* @param {"daily" | "weekly" | "monthly"} timeframe
*/
function fetchData(serverId, chartType, timeframe) {
return fetch(`/scripts/${chartType}_data.php?server_id=${serverId}&timeframe=${timeframe}`)
.then((response) => response.json())
}
function sendIpCopyCount(serverid) {
return fetch("/scripts/record_copy_count.php", {
method: "POST",
body: new URLSearchParams({
server_id: serverid
}),
headers: {
"Content-Type": "application/x-www-form-urlencoded"
}
})
}
Chart.defaults.plugins.legend.display = false
const ccCTX = document.getElementById("copy_count")
const copyCountChart = new Chart(ccCTX, {
type: "line",
data: {
datasets: [{
type: 'line',
label: `Copy count`,
data: []
}],
labels: []
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
y: {
min: 0,
max: 10
}
}
},
});
/**
* @param {"daily" | "weekly" | "monthly"} timeframe
*/
function updateIpCopyData(timeframe = "daily") {
return fetchData("117", "ip-copies", timeframe).then((data) => {
copyCountChart.data.datasets = [{
type: 'line',
label: `IP Copy Count (${timeframe.toUpperCase()})`,
data: data.map((d) => d.count),
}]
copyCountChart.data.labels = data.map((d) => d.date)
copyCountChart.options.scales.y.max = Math.max(...data.map((d) => d.count)) + 5
copyCountChart.update()
});
}
const pcCTX = document.getElementById("player_count")
const pcChart = new Chart(pcCTX, {
type: "line",
data: {
datasets: [{
type: 'line',
label: `Player Count (DAILY)`,
data: []
}],
labels: []
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
y: {
min: 0,
max: 10
}
}
},
});
/**
* @param {"daily" | "weekly" | "monthly"} timeframe
*/
function updatePlayerCountData(timeframe = "daily") {
fetchData("117", "player-count", timeframe).then((data) => {
pcChart.data.datasets = [{
type: 'line',
label: `Player Count (${timeframe.toUpperCase()})`,
data: data.map((d) => d.count),
}]
pcChart.data.labels = data.map((d) => d.date)
pcChart.options.scales.y.max = Math.max(...data.map((d) => d.count)) + 5
pcChart.update()
});
}
function startCountdown() {
// Define your target time as 24 hours from now
var targetTime = new Date().getTime() + 24 * 60 * 60 * 1000;
// Set up a function to update the timer
function updateTimer() {
var now = new Date().getTime();
var timeLeft = targetTime - now;
// If the countdown is finished, stop the interval and allow the user to vote again
if (timeLeft < 0) {
clearInterval(countdown);
document.getElementById("timer").innerText = "You can vote now";
return;
}
// Calculate hours, minutes, and seconds
var hours = Math.floor(timeLeft / (1000 * 60 * 60));
var minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((timeLeft % (1000 * 60)) / 1000);
// Update the countdown timer
document.getElementById("timer").innerText = hours + "h " + minutes + "m " + seconds + "s ";
}
// Call the update function immediately, then set an interval to call it every second
updateTimer();
var countdown = setInterval(updateTimer, 1000);
}
// Call the startCountdown function
startCountdown();
updateIpCopyData("daily")
updatePlayerCountData("daily")
-->
About The Coil Network
You can join The Coil Network using the IP address: Play.TheCoilMC.com. Open Minecraft, go to Multiplayer, click 'Add Server', enter the IP address, and click 'Join Server'.
Every Minecraft server has its own gamemodes. The Coil Network features Survival, Pvp, Economy, Vanilla, and Smp. If you enjoy any of these gamemodes, The Coil Network might be the server for you!
You can join the The Coil Network Discord server and direct your questions there. There should be instructions on how to get support - If not, contact a staff member.
The Coil Network is listed as a Java Edition server. Check their website or Discord for any Bedrock/PE compatibility information.
Right now, there are 12 people playing on The Coil Network . Up to many can join.