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|Brandon 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-modsfolder. 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.