MCTier: a virtual LAN for LAN games, built on EasyTier and Tauri
A virtual LAN gaming tool built for gamers, compatible with all LAN games. Easily bypass network restrictions to play with friends online. | 一款专为玩家打造的虚拟局域网联机工具,支持所有局域网游戏联机使用,让您可以轻松与好友跨越网络限制,享受联机游戏的乐趣。【QQ交流群:1075096452】
At a glance
- What is it?
- MCTier is a custom-licensed Tauri 2 application that puts devices on different networks into one virtual LAN so LAN-only games can be played remotely, adding voice channels, screen sharing, file sharing and an in-game HUD on top of the EasyTier tunnel. It suits players who want to bring a friend on another network into a LAN game, and it is a poor fit if you expect a self-hosted VPN you fully control.
- Who is it for?
- MCTier fits a player or a small group who own LAN-only copies of a game and want to meet across different home networks, because it does the address rewriting, the port mapping and the voice chat that a manual VPN would leave you to do, and the diagnostics and game HUD remove most of the guesswork from a failed session.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 10 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
It is a network tunnel with a game lobby wrapped around it
MCTier is built on EasyTier and WebRTC, and its job is to put devices in different network environments into a single virtual LAN. The README is clear that it is not a Minecraft-only tool and does not exist only for gaming, since the same tunnel works for reaching LAN services across networks, temporary collaboration, voice, file sharing and screen sharing. The core mechanism is a virtual network with no public IP requirement on your side, and a lobby model on top of it, where a host creates a lobby and everyone joins it. The application is a Tauri 2 shell, with the interface in React and TypeScript, the Rust side in src-tauri, and separate platform directories MCTier-Android/, MCTier-Linux/ and MCTier-MacOS/. The topic tags list webrtc, vlan, easytier, tauri2, react and rust, which is the whole stack in one line.
The public EasyTier node list is the part to understand before installing
The README describes built-in EasyTier nodes displayed in order, with the default being a node at tcp://easytier.weiai.org.cn:11010, and the client remembering the last selection. It also allows adding custom EasyTier nodes and configuring a custom domain for the virtual network, so you can point the app at infrastructure you control. Two mechanisms keep the two ends in agreement: the invitation information, including the QR code, the invite link, the recent lobbies and the favourites, syncs and restores the corresponding EasyTier node and signalling server configuration, which exists to stop a lobby from failing to connect when the two sides are on different nodes. There is also a shared node submission feature, where the server probes a submitted node for reachability and removes nodes that have been dead for more than a day, and where you can browse other people's submissions by online status and latency and save one as a custom node.
Voice is deliberately untreated, and that is a design decision
The voice feature is unusual enough to be worth describing precisely. The README states the desktop client provides pure raw voice with no noise suppression, no echo cancellation and no automatic gain processing layered on, so what you hear in the audition is what is actually sent. There are per-channel voice rooms inside a lobby, voice squads that split members into groups so you only hear your own team, and a built-in voice changer with several timbres, which can be auditioned before being applied. A chat room supports text, images and emoji, and there is a bullet-screen mode where messages drift down from the top of the screen, with adjustable font size, speed, opacity, number of tracks and colour, and it is on by default so you do not miss messages while a game is in the foreground. The same reasoning explains the in-game HUD, a click-through overlay showing teammate latency, packet loss and who is speaking, with mute, drag, opacity and scale controls.
Remote control is the feature that goes beyond gaming
Screen sharing is done with WebRTC, and remote control goes further: you can view and operate the other person's device in real time, with computer to phone and phone to computer in both directions. The README lists the gesture support in detail, mouse movement, left and right click, long press, drag, scroll wheel, keyboard input and back, home and recent-app gestures, with the app choosing portrait or landscape and the best window size automatically based on the other side's resolution. There is also folder sharing to other lobby members, with a download list and a customisable save directory, chosen in settings on the desktop and authorised through the system file picker on Android. For a small team this turns the tool from a game lobby into a remote collaboration channel, which is why the README frames the use cases beyond gaming.
Room tools and Minecraft-specific conveniences
The room tools section lists a dice roller, a countdown and a shared to-do list, intended for tabletop sessions, drawing lots and team task assignment, and the countdown is designed to keep running when you switch interface or put the app in the background. The Minecraft-specific part is the automatic world discovery, which scans the worlds lobby members have opened, reading the MOTD, the version, the player count and the latency, and injects the discovered entry into the local server list so you can join without typing an IP. There are also presets for common game ports that generate a virtual IP and port address to copy, and a game quick-connect feature. The host side can post scrolling announcements, set a member cap, kick members, and publish or unpublish the lobby to the public plaza where strangers can see it and join.
A Tauri 2 app with a React front end and a Rust core
The package.json describes the application layer. The interface is React 19 with react-dom, Ant Design for components, framer-motion for animation, zustand for state, i18next with react-i18next for localisation, and dayjs for dates. The Tauri side is version 2, with the API package and the clipboard-manager, deep-link, process and shell plugins, and a qrcode package that matches the lobby QR code feature. The scripts show a Vite and TypeScript build with tsc followed by vite build, eslint for linting and prettier for formatting, a husky prepare hook, and a test script using node --test over files in tests/. fast-check is a dev dependency, which suggests property-based tests. The repository also carries a shared/ directory, a src-tauri/ directory, a patches/ directory and a licenses/ directory.
Licensing and platform support are both qualified
The licence is a custom one, with a LICENSE file, an LGPL_LICENSE.txt, a LICENSE-GPL-3.0.txt and a LICENSE-LGPL-3.0.txt in the root, and a THIRD_PARTY_NOTICES.md alongside them, so the project ships several licence texts rather than a single standard identifier. The README badges mark the licence as custom and list Windows 10/11 and Android as the supported platforms, and the system requirements table is more specific: Windows 10/11 64-bit with 2 GB of memory suggested, Linux on Debian-family distributions including Debian, Ubuntu, Deepin, UOS and Mint on x86_64, Android 8.0 or later, and network access to the configured EasyTier node and the WebRTC signalling service. For Linux the README says the build and packaging instructions are in the MCTier-Linux README, that the app itself runs as an ordinary user, and that easytier-core needs the cap_net_admin capability granted once.
Diagnostics, local statistics and a first-run wizard
The connection features are worth a look because LAN gaming failures are notoriously hard to debug. There is automatic self-healing on both the desktop and Android clients, with signalling reconnection, a second confirmation of member state and automatic voice recovery, aimed at the case where a brief network fluctuation causes somebody to drop or go silent. The network diagnostics aggregate direct connections, relays, latency and packet loss into an overall score with optimisation advice, and can detect virtual network card problems, firewall issues, blocked UDP ports and security software interference, with a one-click firewall allow. Statistics are kept entirely local, covering session time, how many times you joined or hosted, active hours and a ranking of frequent partners, and the README states that no network data is ever reported. A first-run wizard steps through environment checks for permissions, firewall and security software.
Editorial conclusion
MCTier fits a player or a small group who own LAN-only copies of a game and want to meet across different home networks, because it does the address rewriting, the port mapping and the voice chat that a manual VPN would leave you to do, and the diagnostics and game HUD remove most of the guesswork from a failed session. It is a poor fit for a team that needs a hardened private network, since the default path runs through public EasyTier nodes and a public signalling service, and the licence is custom rather than a standard one. Verify first which EasyTier node and signalling server your build will use, and that you can reach them, since a session fails at the transport layer long before any game traffic starts.
Frequently asked questions
What does MCTier use to build the virtual LAN?
MCTier is built on EasyTier and WebRTC. EasyTier establishes the virtual network, which does not require a public IP on your side, and WebRTC carries the screen sharing and remote control. The application is a Tauri 2 app with a React and TypeScript interface and a Rust core in src-tauri/.
Which platforms does MCTier support?
The badges list Windows 10/11 and Android, and the requirements table adds Linux on Debian-family distributions including Debian, Ubuntu, Deepin, UOS and Mint on x86_64, with Android 8.0 or later. The network requirement is the ability to reach the configured EasyTier node and the WebRTC signalling service.
How do I install MCTier on Windows?
Download from the GitHub or Gitee releases page. The Windows installer is the file named MCTier_x.y.z_x64-setup.exe, which you double-click to install, and a portable build named MCTier.exe can be run directly without installing. On Android you install MCTier-Android.apk on the phone.
Can MCTier run without a public IP address?
Yes. The README says the virtual LAN is established with EasyTier and needs no public IP. The built-in EasyTier node list is shown with a default node at tcp://easytier.weiai.org.cn:11010, and the client remembers your last selection, and you can add custom nodes or run your own signalling service.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/pmh1314520-mctier)Was this useful?