CurseForge · Minecraft mod
wsmc
Enable Websocket support for Minecraft Java.
Quick answer
Which wsmc release matches 26.1 Forge?
wsmc 26.1-26.2-0.7.2-forge targets 26.1, 26.1.1, 26.1.2 with Forge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is wsmc required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does wsmc 26.1-26.2-0.7.2-forge need?
26.1-26.2-0.7.2-forge on 26.1 Forge. Every mod below is checked against that same setup.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add wsmc without breaking your instance.
Built for wsmc 26.1-26.2-0.7.2-forge on 26.1 Forge. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 26.1-26.2-0.7.2-forge. It targets 26.1, 26.1.1, 26.1.2 with Forge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside 26.1-26.2-0.7.2-forge. It opens that exact file at the source.
About this project
What does wsmc add?
WSMC
Enable Websocket support for Minecraft Java. Since most CDN providers(at least for their free tier) do not support raw TCP proxy, with the help of this mod, the owner can now hide the server behind a CDN and let the players connect via WebSocket, thus preventing DDoS attacks.
For Minecraft 1.20.1 to 1.20.4, Forge and Fabric.
If you want to run this mod on a Minecraft version that is currently not supported, please post a GitHub issue or leave a comment here.
This mod runs standalone and does not have any dependency.
When this mod is installed on a server:
- The server would allow players to connect via WebSocket.
- Players can still join using vanilla TCP.
- The server accepts and handles TCP and WebSocket connections on the same listening port.
- Without installing this mod on the client side, a player can still join a server that has this mod using vanilla TCP.
- The server can acquire client statistics (e.g., real IP) from the WebSocket handshake..
When this mod is installed on a client:
- The client can join WebSocket-enabled servers using URI like
ws://hostname.com:port/path_to_minecraft_endpoint. - The client can join any servers using vanilla TCP using the old syntax, e.g.
hostname_or_ip:port.
Note
- This mod does not affect any gameplay.
- This mod does not modify any GUI.
- Vanilla clients can join your server even if you install this mod, note that other mods you have may prevent vanilla clients from joining.
- Installing this mod on your client does not prevent you from joining other vanilla or mod servers.
- The server can still get the real IP of the players who joined via CDN-proxied WebSocket.
- This mod is compatible with other TCP-WebSocket proxies, such as websocat.
Client Options
Sometimes the DNS returns a slow IP for the HTTP hostname (ws) or the SNI (wss). The client may want to control how to resolve the IP address.
The client can optionally control the HTTP hostname and the SNI used during WebSocket handshake:
Insecure WebSocket connection with http hostname specified:
ws://host.com@ip.ip.ip.ip
Specify sni and http hostname to the same value(sni-host.com), resolve server IP from ip.ip.ip.ip:
wss://sni-host.com@ip.ip.ip.ip
Set sni and http hostname differently, resolve server IP from host.com:
wss://sni.com:@host.com[:port]
Set sni and http hostname differently, resolve server IP from sni.com:
wss://:host.com@sni.com[:port]
Set sni, http hostname, and the server address seperately
wss://sni.com:host.com@ip.ip.ip.ip
Port and path specification can be appended at the same time.
Configuration
The configuration of this mod is passed in the "system properties". You can use -D in the JVM command line to pass such options.
| Property Key | Type | Usage | Side | Default | Example |
|---|---|---|---|---|---|
| wsmc.disableVanillaTCP | boolean | Disable vanilla TCP login and server status. | Server | false | true |
| wsmc.wsmcEndpoint | string | Set the WebSocket Endpoint for Minecraft login and server status. If this property does not exist, a client can join the game via ANY WebSocket Endpoint. Must start with /, case-sensitive. | Server | Not set | /mc |
| wsmc.debug | boolean | Show debug logs. | Server Client | false | true |
| wsmc.dumpBytes | boolean | Dump raw WebSocket binary frames. Work only if wsmc.debug is set to true. |
Server Client | false | true |
| wsmc.maxFramePayloadLength | string | Maximum allowable frame payload length. Setting this value to your modpack's requirement else Netty will throw error "Max frame length of x has been exceeded". | Server Client | 65536 | 65536 |
For developers
On the server side, if a client joins via WebSocket, its handshake request can be accessed via the vanilla net.minecraft.network.Connection class. To obtain such information, cast a Connection instance into IConnectionEx, then calls IConnectionEx.getWsHandshakeRequest().
This is useful for obtaining information about the original request if the Minecraft server is behind a reverse proxy (e.g. a CDN). For example, header X-Forwarded-For and CF-IPCountry indicate the client IP address and the client country code, respectively.
Project description from CurseForge.
Pick your setup
wsmc by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
26.1.2
3 loader builds26.1.1
3 loader builds26.1
3 loader builds1.21.11
3 loader builds1.21.10
3 loader builds1.21.9
3 loader builds1.21.8
3 loader builds1.21.7
3 loader builds1.21.6
3 loader builds1.21.5
3 loader builds1.21.4
3 loader buildsShowing the newest 12 of 29 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
wsmc versions and loaders
26.1-26.2-0.7.2-forge
wsmc-0.7.2-forge-26.1.jar
21 Jul 2026
26.1-26.2-0.7.1-forge
wsmc-0.7.1-forge-26.1.jar
26 Jun 2026
26.1-26.2-0.7.0-forge
wsmc-0.7.0-forge-26.1.jar
25 Jun 2026
Looking for an older file? The official CurseForge project page is in Resources.