<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ESN Systems</title>
    <description>The latest articles on DEV Community by ESN Systems (@esnhosting).</description>
    <link>https://dev.to/esnhosting</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4220046%2Fdcfe56c6-ab47-4bab-b572-e0c423d52934.png</url>
      <title>DEV Community: ESN Systems</title>
      <link>https://dev.to/esnhosting</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/esnhosting"/>
    <language>en</language>
    <item>
      <title>Minecraft server hosting for beginners</title>
      <dc:creator>ESN Systems</dc:creator>
      <pubDate>Sun, 01 Nov 2026 05:52:45 +0000</pubDate>
      <link>https://dev.to/esnhosting/minecraft-server-hosting-for-beginners-21l4</link>
      <guid>https://dev.to/esnhosting/minecraft-server-hosting-for-beginners-21l4</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://esnoffical.com/guides/minecraft-server-hosting-for-beginners/" rel="noopener noreferrer"&gt;esnoffical.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What a Minecraft server actually is
&lt;/h2&gt;

&lt;p&gt;A Minecraft server is a program that runs the world for everyone. It loads chunks, moves mobs, saves builds and passes every player's actions to everyone else. Your friends' games connect to it using an address, such as an IP and a port or a domain name. To keep the world available when you are offline, that program has to run on a computer that stays on all the time. Hosting is simply choosing which computer that is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hosting at home vs paying a host
&lt;/h2&gt;

&lt;p&gt;You can run a server on your own PC for free. To let friends outside your house join, you usually need to forward a port on your router, which shares your home IP address with every player, and the PC has to stay on whenever anyone wants to play. A hosting company runs the server in a data centre instead: it is always on, you get an address straight away, and you manage everything from a web panel. For most groups of friends, hosted is less hassle.&lt;/p&gt;

&lt;h2&gt;
  
  
  RAM basics
&lt;/h2&gt;

&lt;p&gt;RAM holds the parts of the world that are loaded, plus every mob, item and plugin. More players spread far apart load more chunks, so they need more RAM. Big modpacks need far more than plugins do. As a starting point, a small Paper server for a few friends runs on 1 GB, and 2 GB is a comfortable start with a handful of plugins. Forge modpacks need at least 2 GB and often much more. Giving a server far more RAM than it needs does not make it faster, so size up only when the memory graph says so.&lt;/p&gt;

&lt;h2&gt;
  
  
  CPU basics and lag
&lt;/h2&gt;

&lt;p&gt;Most of Minecraft's game logic runs on one main thread, so a fast single CPU core matters more than lots of slow cores. The server aims for 20 ticks per second (TPS); when it drops, players see lag. Common causes are large mob farms, redstone clocks, too many loaded entities, and players flying into new terrain, which forces chunk generation. Lowering view-distance and simulation-distance, limiting farms, and pre-generating the world with a plugin such as Chunky help a lot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Server software: vanilla, Paper and friends
&lt;/h2&gt;

&lt;p&gt;Vanilla is the official server from Mojang: no plugins and no mods. Paper is a faster version of the server that runs Bukkit and Spigot plugins, and it is the usual choice for survival servers and SMPs. Purpur is Paper with extra settings. Fabric is a lightweight mod loader, and Forge or NeoForge run large modpacks. Plugins only need to be on the server, so players join with a normal game. Mods usually have to be installed by every player too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plugins worth knowing
&lt;/h2&gt;

&lt;p&gt;A few popular, free plugins cover most beginner needs: EssentialsX for homes, warps, spawn and kits; LuckPerms for ranks and permissions; a land-claim plugin such as GriefPrevention so players can protect builds; CoreProtect to look up and roll back griefing; and Geyser with Floodgate if you want Bedrock players to join. Download plugins only from their official pages (Hangar, Modrinth or SpigotMC), keep them updated, and avoid stacking dozens you do not use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Backups, before you need them
&lt;/h2&gt;

&lt;p&gt;Worlds get griefed, plugin updates go wrong and files occasionally get corrupted. A backup turns any of those into a five-minute fix instead of a lost world. Take one before every update or new plugin, schedule automatic ones, and keep a copy somewhere other than the server itself by downloading it now and then. On ESN, the Backups page creates and restores backups, and the Schedules page can run them for you automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Settings that matter
&lt;/h2&gt;

&lt;p&gt;Most settings live in server.properties. motd is the message in the server list. difficulty, gamemode and max-players do what they say. view-distance and simulation-distance have the biggest effect on performance. white-list lets only invited players in, which is a good idea for a private friends server. Keep online-mode set to true so players need a real account and nobody can log in under someone else's name. Restart after changing the file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step by step: your first server on ESN
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://panel.esnoffical.com" rel="noopener noreferrer"&gt;panel.esnoffical.com&lt;/a&gt; and sign in. Open Buy a server, choose Minecraft, then pick Paper (the usual choice). Choose a plan with at least 1 GB of RAM; Advanced (2 GB) or bigger is a comfortable start. Pay on Stripe and the server is set up automatically. Open it, press Start on the Console and accept the EULA when asked. Wait for "Done", copy the ip:port shown at the top of the Console, and add it in Minecraft under Multiplayer, then Add Server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Become an operator and invite friends
&lt;/h2&gt;

&lt;p&gt;In the panel Console, type op followed by your Minecraft name (no slash) to get admin commands in game. Share the address with friends, and turn on the whitelist with whitelist on and whitelist add Name if you only want invited players. If a friend helps run the server, add them as a subuser in the panel instead of sharing your password. If some friends play on phones or Windows Bedrock, add Geyser and Floodgate so they can join too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep it safe
&lt;/h2&gt;

&lt;p&gt;Use a strong, unique password on your hosting account and turn on two-factor authentication. Never install cracked or re-uploaded plugins, which are a common way to get backdoors. Give operator status only to people you trust, since ops can do almost anything. Keep the server software and plugins updated, and read the console after updates for errors. These habits prevent most of the problems new server owners run into.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to go next
&lt;/h2&gt;

&lt;p&gt;Once the server is running, the ESN docs cover installing plugins, how much RAM you need, fixing lag, uploading an existing world and letting Bedrock players join. ESN plans start from $0.50/month, and every Minecraft plan is listed on the panel with its RAM and price. If you would rather just play right now, ESN SMP is open at play.esnoffical.com for Java and Bedrock, and the ESN Discord is the place to ask questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://panel.esnoffical.com/plans" rel="noopener noreferrer"&gt;Minecraft hosting plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/minecraft-server-setup.html" rel="noopener noreferrer"&gt;Set up a Minecraft server (docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/minecraft-ram.html" rel="noopener noreferrer"&gt;How much RAM you need (docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/install-minecraft-plugins.html" rel="noopener noreferrer"&gt;Install plugins (docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/fix-minecraft-lag.html" rel="noopener noreferrer"&gt;Fix lag and crashes (docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/backups.html" rel="noopener noreferrer"&gt;Backups (docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://esnoffical.com/smp-hub" rel="noopener noreferrer"&gt;Play on ESN SMP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This guide was originally published on &lt;a href="https://esnoffical.com/guides/minecraft-server-hosting-for-beginners/" rel="noopener noreferrer"&gt;esnoffical.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>minecraft</category>
      <category>hosting</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Java + Bedrock crossplay: how Minecraft crossplay SMPs work</title>
      <dc:creator>ESN Systems</dc:creator>
      <pubDate>Sun, 01 Nov 2026 05:46:44 +0000</pubDate>
      <link>https://dev.to/esnhosting/java-bedrock-crossplay-how-minecraft-crossplay-smps-work-187n</link>
      <guid>https://dev.to/esnhosting/java-bedrock-crossplay-how-minecraft-crossplay-smps-work-187n</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://esnoffical.com/guides/java-bedrock-crossplay-smp/" rel="noopener noreferrer"&gt;esnoffical.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Two editions, one world
&lt;/h2&gt;

&lt;p&gt;Minecraft comes in two editions. Java Edition runs on Windows, Mac and Linux PCs. Bedrock Edition runs on phones, tablets, Windows, Xbox, PlayStation and Switch. They look alike, but they speak different network protocols, so out of the box a Bedrock player cannot join a Java server. A crossplay SMP is a Java server with a translator in front of it, so both groups of players end up in the same world, chatting in the same chat and trading in the same economy.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Geyser does
&lt;/h2&gt;

&lt;p&gt;Geyser is a free, open-source project that translates between the two protocols. A Bedrock player connects to Geyser, Geyser turns their actions into Java packets, and the Java server sees what looks like one more Java player. Everything the server sends back is translated the other way. Geyser can run as a plugin on Paper or Spigot, as a mod on Fabric, or as a standalone proxy in front of a network. Because the server itself stays Java, your plugins and world keep working as before.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Floodgate does
&lt;/h2&gt;

&lt;p&gt;Java servers normally check that every player owns a Java account. Bedrock players sign in with a Microsoft (Xbox) account instead, so without help they would be turned away. Floodgate is Geyser's companion plugin that lets Bedrock players join with their Microsoft account and no Java account. To stop name clashes, it puts a prefix in front of Bedrock names; by default a player called Steve appears as .Steve. Whitelisting a Bedrock player uses the fwhitelist command instead of the normal whitelist.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ports: 25565 and 19132
&lt;/h2&gt;

&lt;p&gt;Java Edition connects over TCP and uses port 25565 by default. Bedrock Edition connects over UDP and uses port 19132 by default. Geyser listens for Bedrock players on a UDP port, which you set in its config. TCP and UDP are separate, so on hosts that give you a single port number, Geyser can use the same number as the Java server. Java players can usually leave the port out when it is 25565; Bedrock always has a separate Port box when adding a server.&lt;/p&gt;

&lt;h2&gt;
  
  
  What works for Bedrock players
&lt;/h2&gt;

&lt;p&gt;Almost everything a survival player does works the same: mining, building, crafting, fighting, chests, villagers, chat and server commands. Plugin menus built from chest inventories work, and some plugins show native Bedrock forms through Floodgate. On a crossplay SMP, Bedrock players take part in the same events, economy and progression as Java players, which is the whole point: friends on a phone can play with friends on a PC.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is different or does not work
&lt;/h2&gt;

&lt;p&gt;A few Java-only things have no exact Bedrock match, so some blocks, items or particles look slightly different. Combat timing and movement feel different between editions. Java resource packs do not apply to Bedrock players automatically; custom textures and item models need a separate Bedrock pack or extra mappings. Client-side Java mods obviously do not exist on Bedrock. Geyser also has to follow new Bedrock releases, so right after a big Minecraft update there can be a short wait until Geyser catches up.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about consoles?
&lt;/h2&gt;

&lt;p&gt;Phones, tablets and Windows can add any server by address. Xbox, PlayStation and Switch do not show an Add Server button for custom servers, so console players need a workaround, usually a connection helper that redirects one of the featured server entries. It is a known limitation of console Bedrock, not of the server. ESN keeps a step-by-step console connection guide for the ESN SMP that covers Xbox, PlayStation and Switch.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to join ESN SMP
&lt;/h2&gt;

&lt;p&gt;ESN SMP is a crossplay survival server with quests, boss fights, custom gear, an economy and seasonal events. On Java Edition, open Multiplayer, choose Add Server and enter play.esnoffical.com. On Bedrock (phone, tablet or Windows), open Play, then Servers, then Add Server, enter play.esnoffical.com as the address and 19132 as the port. On a console, follow the ESN console guide. Questions, events and updates are announced in the ESN Discord.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set up crossplay on your own server: install
&lt;/h2&gt;

&lt;p&gt;Crossplay needs a Paper or Purpur server (or Fabric with the Fabric builds). Vanilla cannot run plugins. Take a backup first. Download Geyser and Floodgate for Spigot/Paper from the official site, geysermc.org/download, and nothing else. Upload both .jar files to the plugins folder and restart. If your Java server runs an older Minecraft version than current Bedrock, also add ViaVersion so newer clients can connect. Geyser uses some extra memory, so leave a little headroom.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set up crossplay: configure and test
&lt;/h2&gt;

&lt;p&gt;After the first start, open plugins/Geyser-Spigot/config.yml. Under bedrock, set port to the UDP port Bedrock players should use, and make sure auth-type is floodgate (newer versions set this automatically when Floodgate is installed). Restart, then type plugins in the console and check both Geyser and floodgate are listed. On Bedrock, add the server with your address and that port. To make a Bedrock player an operator, include the prefix, for example op .Steve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Crossplay on ESN Hosting
&lt;/h2&gt;

&lt;p&gt;On an ESN Minecraft server, your assigned port already accepts Bedrock traffic, so set Geyser's bedrock port to the same number shown in your server's ip:port and keep server-port in server.properties unchanged. Bedrock players then use your address in the Server Address box and your port in the Port box. ESN plans start from $0.50/month; Minecraft needs a plan with at least 1 GB of RAM, and every plan is listed on the panel.&lt;/p&gt;

&lt;h2&gt;
  
  
  If Bedrock players cannot connect
&lt;/h2&gt;

&lt;p&gt;"Unable to connect to world" usually means the Bedrock port in Geyser's config does not match the port you gave players, or the server was not restarted after saving. "Outdated server" or "Outdated client" means Geyser or the player's game needs updating. Being kicked with an Xbox or login error usually means Floodgate is missing or failed to load. Check the console for red errors on start, update both plugins together, and ask in the ESN Discord with the error text if you are stuck.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://esnoffical.com/smp-hub" rel="noopener noreferrer"&gt;ESN SMP World Hub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://esnoffical.com/smpconsole" rel="noopener noreferrer"&gt;Console connection guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/bedrock-crossplay.html" rel="noopener noreferrer"&gt;Geyser + Floodgate on ESN (docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/java-bedrock-crossplay-smp.html" rel="noopener noreferrer"&gt;ESN SMP crossplay guide (docs)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://panel.esnoffical.com/plans" rel="noopener noreferrer"&gt;Minecraft hosting plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/RGPt3zEfGy" rel="noopener noreferrer"&gt;Official Discord&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This guide was originally published on &lt;a href="https://esnoffical.com/guides/java-bedrock-crossplay-smp/" rel="noopener noreferrer"&gt;esnoffical.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>minecraft</category>
      <category>gaming</category>
      <category>server</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to host a Discord bot 24/7 (cheaply)</title>
      <dc:creator>ESN Systems</dc:creator>
      <pubDate>Sun, 01 Nov 2026 05:46:40 +0000</pubDate>
      <link>https://dev.to/esnhosting/how-to-host-a-discord-bot-247-cheaply-4iik</link>
      <guid>https://dev.to/esnhosting/how-to-host-a-discord-bot-247-cheaply-4iik</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://esnoffical.com/guides/host-discord-bot-24-7/" rel="noopener noreferrer"&gt;esnoffical.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What "online 24/7" really means
&lt;/h2&gt;

&lt;p&gt;A Discord bot is a program that keeps a live connection open to Discord (the gateway). Your bot shows as online only while that program is running on a computer that is switched on and connected to the internet. Close the laptop, let the PC go to sleep, or lose Wi-Fi, and the bot goes offline with it. So hosting a bot 24/7 is really one question: which computer will run your code all day, every day, and restart it when something goes wrong? There are four common answers, and each one trades money against effort.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 1: your own PC or a Raspberry Pi
&lt;/h2&gt;

&lt;p&gt;Running the bot on your own machine costs nothing extra and is the best place to build and test it. Bots connect out to Discord, so you do not need to open ports or forward anything on your router. The catch is that the machine must stay on and awake, and the bot drops whenever your power, internet or Windows updates do. A Raspberry Pi or an old laptop left plugged in works for a small bot, but you still handle restarts, updates and backups yourself, and the electricity is not free either.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 2: free tiers on cloud platforms
&lt;/h2&gt;

&lt;p&gt;Several platforms offer a free plan, and they are fine for experiments. Before you rely on one for a public bot, read its current limits, because free plans commonly put apps to sleep when idle, cap the hours you can run each month, ask for a card, or change their terms. Tricks that ping a sleeping app to keep it awake usually break the platform rules and still leave gaps. Many free plans also share IP addresses between lots of apps, which can lead to Discord rate limits that are not your fault.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 3: a VPS
&lt;/h2&gt;

&lt;p&gt;A virtual private server is a Linux machine you rent and fully control. It can run several bots, a database and a website at once, and you can install anything. In exchange you are the system administrator: you secure SSH, apply updates, configure a firewall, set up a process manager such as systemd or pm2 so the bot restarts after a crash or reboot, and arrange your own backups. If you want to learn Linux, a VPS is a great teacher. If you just want the bot online, it is more work than you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 4: dedicated bot hosting
&lt;/h2&gt;

&lt;p&gt;Bot hosting gives you a ready-made container for one bot with a web panel. You upload your files, choose which file starts the bot, and press Start. The host installs your packages when the server starts, shows a live console, and keeps the machine running and backed up. You give up root access, but you skip the server admin work. ESN Hosting is built for exactly this: Python, Node.js and Java bot servers, set up automatically after checkout, with plans from $0.50/month.&lt;/p&gt;

&lt;h2&gt;
  
  
  How much power does a bot need?
&lt;/h2&gt;

&lt;p&gt;Most small bots that answer slash commands in a handful of servers use very little memory and CPU. What makes a bot hungrier is caching lots of members and messages, playing music, joining many large servers, or keeping a big database in memory. Start with a small plan, run the bot for a day with real users, then look at the memory graph on the console page. If it sits close to the limit, move up a plan. The ESN docs have a longer guide on how much RAM a Discord bot needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: get a bot server on ESN
&lt;/h2&gt;

&lt;p&gt;Go to &lt;a href="https://panel.esnoffical.com" rel="noopener noreferrer"&gt;panel.esnoffical.com&lt;/a&gt;, sign in (or create an account), and open Buy a server. Choose a Discord bot type that matches your language: Python, Node.js or Java. Pick a plan and pay on Stripe. The server is created automatically and appears on your dashboard within moments. If your bot is not written yet, the ESN docs walk through creating an application in the Discord Developer Portal, adding a bot user, and inviting it to your server with the right scopes and permissions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: upload your code
&lt;/h2&gt;

&lt;p&gt;Open the server and go to Files. Upload your files, or upload a single .zip and use Unarchive from its menu. Make sure your main file sits in the top folder rather than inside a folder from the zip. Do not upload node_modules, venv, &lt;strong&gt;pycache&lt;/strong&gt; or .git: they are large, and the server installs packages itself. If you prefer a desktop app such as FileZilla or WinSCP, you can use SFTP with your panel login instead of the browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: set the start file and packages
&lt;/h2&gt;

&lt;p&gt;Open Startup and check the variable that says which file runs: Main Python File (main.py by default) for Python, Main JavaScript File (index.js) for Node.js, or JAR FILE for Java. File names are case sensitive, so Bot.py and bot.py are different. For Python, list your libraries in requirements.txt; for Node.js, upload package.json (and package-lock.json). Both are installed every time the server starts. For Java, upload one jar that already includes its libraries.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: keep your token secret
&lt;/h2&gt;

&lt;p&gt;Your bot token is a password for your bot. Anyone who has it can log in as your bot, so never paste it into your code, a screenshot, a support ticket or a public repository. On ESN, create a file named .env in the top folder with one line, DISCORD_TOKEN= followed by your token, then read it in code with python-dotenv (Python) or dotenv (Node.js). Add .env to your .gitignore so it never reaches GitHub. If a token leaks, open the Developer Portal, go to Bot and choose Reset Token straight away, then update .env.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: start it and read the console
&lt;/h2&gt;

&lt;p&gt;Press Start on the Console page. You will see packages install, then whatever your bot prints when it connects; a line such as "Logged in as YourBot" is a good sign. If it stops instead, read the last red lines. "Improper token" means the token in .env is wrong or was reset. An error about privileged intents means you must switch on the matching intent (Message Content, Server Members or Presence) under Bot in the Developer Portal, or remove it from your code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keeping the bot online for months
&lt;/h2&gt;

&lt;p&gt;Good hosting keeps the machine up; your code keeps the bot up. Catch errors inside command handlers so one bad command cannot crash everything, and in Node.js handle rejected promises. discord.py and discord.js reconnect to the gateway on their own after short network drops, so you rarely need your own reconnect loop. Respect rate limits rather than sending messages in tight loops. Use the panel Schedules page for a nightly restart if your bot slowly uses more memory, and take a backup before every big update.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick checklist
&lt;/h2&gt;

&lt;p&gt;Pick hosting that matches how much admin work you want. Keep the token in .env, out of your code and out of Git. Set the right start file and list your packages. Watch the console on the first start and fix intent or token errors. Check memory after a day and size up only if you need to. Back up before changes. When you are ready, ESN bot hosting starts from $0.50/month on the panel, and the ESN Discord can help if you get stuck.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://panel.esnoffical.com/plans" rel="noopener noreferrer"&gt;ESN bot hosting plans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/upload-and-start-bot.html" rel="noopener noreferrer"&gt;Upload and start your bot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/bot-token-setup.html" rel="noopener noreferrer"&gt;Create a bot and get its token&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/keep-bot-online.html" rel="noopener noreferrer"&gt;Keep a bot online 24/7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.esnoffical.com/discord-bot-intents.html" rel="noopener noreferrer"&gt;Privileged intents explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/RGPt3zEfGy" rel="noopener noreferrer"&gt;Official Discord&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;This guide was originally published on &lt;a href="https://esnoffical.com/guides/host-discord-bot-24-7/" rel="noopener noreferrer"&gt;esnoffical.com&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discord</category>
      <category>bots</category>
      <category>hosting</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
