Skip to content

Multiplayer and fair play

Xol does not change movement, combat, reach, hitboxes, interaction timing or packets. It is not "approved", not "undetectable" and not safe for every server. A server may ban any modified client. Check the target server's current rules before playing there.

The rule

Every module is reviewed against one rule: it may read what vanilla already shows you and draw it differently. The review table below lists the few modules that do anything beyond that, and says exactly what.

What Xol does What Xol never does
Draws HUD elements from your own client state: frame rate, your position, your armor, your key presses Change movement, combat, reach, hitboxes or interaction timing
Identifies itself honestly. Every Xol profile sends the client brand Xol, so servers can see what you are running. Send, delay, reorder or cancel a packet on its own, or edit a message you send
Keeps Forge's mod handshake intact Generate, repeat or time clicks and key presses
Lets you switch any module off Show anything the game hides from you: nothing through walls, no hidden players or entities
Hide from servers or anti-cheat, or pretend to be another client

Client brand

When a Minecraft client joins a server it sends a short label naming itself: the brand. Vanilla sends vanilla; Forge sends fml,forge.

  • Xol sends Xol. It is the standard brand message (MC|Brand on these versions), sent at the same time and on the same channel as vanilla's. Only the label differs.
  • Since 0.3.0 every way Xol starts includes the client, with or without OptiFine and your own mods, so every combination sends Xol. Your own mods do not change the brand.
  • The change is limited to that one message at join time. The F3 screen and crash reports keep the loader's own brand.
  • A brand is a self-reported label and easy to fake. Server owners should never grant permissions or anti-cheat trust because of it. Xol sends it so that it does not pretend to be something else, not as proof of anything.

The handshake address

On 1.8.9, Forge adds a marker to the server address in the first packet of every connection and every server list ping. That marker tells a server, or a proxy in front of it, that the client is modded. Some proxies then treat the connection as a Forge connection and the server behind them disconnects you before you see a world.

Right Shift menu ▸ Multiplayer ▸ Connect as a vanilla client, on by default, leaves that marker out, so the address is sent exactly as a vanilla client writes it. Everything else stays the same: the same packet at the same moment, with the same address and port. Forge's own mod handshake is untouched. Turn the switch off if a server needs your Forge mods. On 1.7.10 Forge sends no such marker, so the switch changes nothing there.

What servers can see

What Detail
The brand Xol, as above
Forge's mod handshake Preserved. A Forge client registers the channel names of its mods, so a server can see which channel-registering mods are present. That is normal Forge behavior. With Xol 1.7.10 the observed registration was FML\|HS, FML, FML, gtnhlib, archaicfix, FORGE, hodgepodge, followed by the brand Xol.
The Xol mod in Forge's mod list check The Xol client is client-side only and declares that servers never need it and accept any version
Everything else The same packets a vanilla client sends, apart from the exceptions in the review table: Ping's status request, Auto Text, and your own Tab presses

Xol makes no attempt to hide from servers or from anti-cheat software.

What has been verified

On private test servers under the project's control, in offline mode:

Client Server Result
Xol 1.8.9 Paper 1.8.8 with a plugin that logs the brand Joined, stayed two minutes, the server logged brand="Xol", clean disconnect
Xol 1.7.10 Vanilla 1.7.10, with no integration, behind a logging relay Joined, stayed two minutes, the relay saw Forge's registration and then the brand Xol, clean disconnect

Not verified: an authenticated join to an online-mode server, because Microsoft sign-in with Xol's own application ID is not live yet; sustained play; any public server. How a given anti-cheat plugin displays an unknown brand has not been observed.

Module review

Client 0.3.5 has 50 modules. Every module can be switched off. Only FPS and FOV Changer are on by default. The settings groups under the gear (General, Performance, Multiplayer, Menu theme, Font, Xol pack and Theme) cannot be switched off; they hold client-wide options, and Performance is where the FPS boost options live.

"Sends" says whether the module ever causes anything to leave your computer. The notes are the ones the client itself shows for each module, shortened.

Module Default Sends Note
FPS on nothing Display only
Ping off A status request, in some cases "Player list" reads the latency the server already sends for the tab list. "Server ping" asks the server you are on for its public status, the same request the server list makes, at most once per refresh interval and never in singleplayer. "Auto", the default, uses the player list until the number there looks masked, then the server ping.
Coordinates off nothing The same numbers as F3. On 1.8.9 it hides itself whenever reduced debug info is on, like F3. 1.7.10 has no such flag.
Playtime off nothing Counts time on your own computer
CPS off nothing Counts your own physical mouse presses. Never clicks, repeats or times anything for you.
SPS off nothing Counts the arm swings and item uses the game accepted from you
Key Strokes off nothing Reads the pressed state of your own key bindings. Never presses anything for you.
Armor Status off nothing Reads your own inventory
Potion Effects off nothing Shows the effects the server already told your client about
Potion Counter off nothing Counts items in your own inventory
ToggleSprint off nothing Holds the vanilla Sprint and Sneak key state for you; see below
Zoom off nothing Changes your own field of view while the key is held; see below
Crosshair off nothing Draws the crosshair at the same screen center, as Xol's shape or the resource pack's texture in your color
Pack display off nothing Reads your own resource pack selection
Chat off Only your own Tab presses Changes how chat is drawn and what your window keeps. Never sends anything and never touches messages you send. Tab completion only adds to the request the game already sends when you press Tab; the server's answer always wins.
Clock off nothing Reads your computer's clock
Date off nothing Reads your computer's calendar
Memory usage off nothing Reads the game's own memory figures
Direction HUD off nothing Shows the way your own camera points, as F3 does
Saturation off nothing Shows the saturation the server last sent your client
Server address off nothing Shows the address you connected to. It is then in every screenshot and recording you take.
Cooldowns off nothing Timers started by your own item use, or read from the XP level on servers that put a timer there. The server decides the real cooldown.
Combo Counter off nothing Counts hits the server confirmed
Sprint Reset Counter off nothing Watches your own movement keys. Never presses, releases or times a key for you.
Reach Display off nothing Measures the distance of your own attacks. Cannot change reach.
Scoreboard off nothing Draws the sidebar the server already sent
Player List off nothing Draws the list the server already sends
Boss Bar off nothing Draws the boss bar the server already sends
Titles off nothing Draws the titles the server already sends
Nametag off nothing Shows the same names the game shows, never one the game hides
Nick Hider off nothing Shows another name on your screen only. The server and other players still see your real name and skin. In chat only the words change, so clickable lines stay clickable.
Auto Hotkey off Yes: the line you wrote Sends a message or command you wrote, once, when you press its key, exactly as typing it would. No timers, no repeats. Other servers may count any macro as against their rules.
Hitboxes off nothing The boxes the game's own F3+B draws, in your colors. Nothing through blocks. Switched off on Hypixel, which does not allow hitbox mods.
Block Overlay off nothing Restyles the outline of the block you look at. Only on blocks the game would outline anyway.
TNT Timer off nothing The countdown your own game keeps for lit TNT, within 64 blocks and in plain sight only
Item Physics off nothing Changes how dropped items are drawn. Their real position and pick-up range are unchanged.
Particles off nothing Changes which particles you see
Environment Changer off nothing The time of day and weather you see. The server's own are unchanged.
Fullbright off nothing Lights the world evenly on your screen. Your brightness setting is not changed.
Hit Color off nothing The color of the damage flash, on your screen only
No Hurt Cam off nothing Stops your camera shaking when you take damage. Damage and knockback are unchanged.
Enchantment Glint off nothing The color of the enchantment shimmer
View Bobbing off nothing How much your own view and hand sway
Pack Tweaks off nothing Small changes a resource pack could also make. Clear glass can make a stained-glass wall invisible to you.
Motion blur off nothing Drawing only. A blurred image shows less, not more.
Rewind off nothing Records your own screen and the game's sound on your computer only. Changes nothing in the game.
Animations off nothing How your own hand, items and camera are drawn. The game's hit delay still applies.
Perspective off nothing Moves only your camera; the camera still stops at walls. Freelook switches itself off on servers that do not allow it.
FOV Changer on nothing Your field of view per state. The game's FOV slider does the same.
Hypixel off Yes, with Player info on: account IDs of nearby players, to the Xol service Active only while you are connected to that network. In Bed Wars it shows hardcore hearts after your bed is gone and the map's height limit. Its Player info section reads the star or level the server already prints before a name. Otherwise the network level and the Bed Wars star come from the Xol service, never from the server. See Privacy.
Multiplayer (settings group) on The handshake address See The handshake address

ToggleSprint

The module holds the vanilla Sprint and Sneak key bindings pressed after one tap, with the same call a real key press makes. Every vanilla rule still applies, and no packet is added or changed. Its optional flight boost, off by default, raises your local flight speed while Sprint is held, and only while you fly in creative or spectator mode.

Some servers forbid toggle-sprint and toggle-sneak mods. Check their rules. The module is off by default.

Zoom

The module narrows your field of view while its key is held, and can switch on the vanilla cinematic camera and lower your mouse speed while it does. It sends nothing. It is a camera effect only, like OptiFine's zoom. There is no change to reach, aim or interaction.

When part of Xol fails

The client changes the game through Forge events and through mixins, small changes to specific game methods. Every place where the game calls into Xol catches its own errors. If one of them fails, the game carries on as if that part of Xol were not there, and the failure is written to the game log once.

Every new module gets a row in this table and a multiplayer note in the client before it ships.

Advice on server rules

  • Read the rules of the server you play on, and read them again when they change. Servers make their own rules. Some forbid any modified client; some forbid specific features such as toggle sprint, macros or information displays.
  • When in doubt, switch the module off, or ask the server's staff.
  • Xol does not claim to be approved by any server, and the project is not responsible for action a server takes against your account. The terms of use say the same.
  • Do not modify Xol, or combine it with other software, in order to cheat, to evade a server's detection, or to misrepresent which client you are running. The terms forbid it.
  • Mods you add yourself are your responsibility. With the Forge mods add-on on, Xol loads the jars in your my-mods folder. It does not check what they do.

For server owners

Xol sends the brand Xol so you can see it. Treat that label as information only; anyone can send any brand. If you want to allow or forbid Xol or one of its modules, the review table above lists what each module sends. Questions: contact@xol.dev.

Open items before public-server use

The project's own list: authenticated session handling tested end to end; sustained play on a private online-mode server; a code review of every mixin for protocol side effects; target server rules checked; known issues documented.