29 min read

How to Install and Self-Host newserv for PSO

Install, configure, and verify a newserv PSO server, then plan secure remote access with Localtonet after confirming its listener protocols and ports.

Game Server Tutorial · newserv · Phantasy Star Online · 2026

Install a pinned newserv release, prove it works locally, and evaluate remote PSO connectivity safely

newserv is a game server, proxy, and reverse-engineering toolkit for Phantasy Star Online, commonly abbreviated PSO. This tutorial covers the game-server role using the canonical newserv repository and the tagged v2026-09-02 revision. It separates packaged macOS or Windows releases, source builds, and the repository Dockerfile, then explains local startup, client-specific connection requirements, persistence, verification, maintenance, and remote-access constraints. Because PSO editions use different connection and patching workflows, select one edition first and do not expose the server until that client completes a local session.

🎮 Separate PC, Blue Burst, console, and proxy workflows 🔒 Back up client and server save data before testing 🌐 Prove every listener and redirect before remote access
A newserv host connected to a Phantasy Star Online client on a local network, with an optional Localtonet remote path.
Establish a complete local newserv session before evaluating any remote path.

Scope, release date, and supported roles

The canonical project is the fuzziqersoftware/newserv repository. Its author describes newserv as a PSO game server, proxy, and reverse-engineering tool. These are separate roles. This guide focuses on running newserv as a game server. Proxy mode is discussed only where it affects installation and network exposure.

The pinned revision used here is v2026-09-02. The date in the tag name is September 2, 2026. GitHub displays the release publication time as September 3, 2026. Those dates describe the same tagged release and should not be confused with two different versions.

newserv covers several generations of PSO, but they do not all connect in the same way. The repository has separate documentation for compatibility, PC and Blue Burst patch directories, client connection methods, cross-version play, Episode 3, memory patches, and the DOL loader. For a first deployment, choose one exact client edition and complete a local login and game session before enabling another.

🖥️ PC and Blue Burst These clients have version-specific patch directories and executable behavior. Use the patch material that matches the client build instead of mixing files from another edition.
🎮 Console clients Dreamcast, GameCube, Xbox, and Episode 3 workflows can depend on console networking, DNS, loaders, or client-specific patches. Treat each platform as a separate deployment target.
🔀 Proxy mode A proxy accepts a client connection and forwards or transforms traffic associated with another service. Do not assume its listeners, configuration, or exposure model are identical to game-server mode.
🧰 Research tools Reverse-engineering utilities, memory patches, and diagnostic interfaces do not automatically need network exposure. Keep them private unless a documented workflow requires otherwise.
Use legally obtained game software and data

newserv does not grant a license to distribute PSO clients, disc images, proprietary game data, or copyrighted quests. Use software and data you are entitled to use, and follow the laws and service agreements applicable to your location.

The repository README is the authoritative compatibility and configuration reference for the selected revision. Its Server setup, PC and Blue Burst patch directories, and How to connect sections should be read together. The project also maintains TODO.md and a public issue tracker for known work, defects, and community reports.

Prepare the host and protect existing saves

The repository contains CMake build configuration, a Dockerfile, source code, tests, static resources, and a system directory. newserv works on Windows, although the project explicitly notes that compiling it there is difficult. The v2026-09-02 release is labeled for macOS and Windows, so those users should normally evaluate the packaged release before attempting a native Windows build.

Linux and other Unix-like hosts can use the source-build path when the required compiler and libraries are available. The project evidence does not publish a universal CPU, memory, or disk minimum. Allocate capacity based on the PSO editions, quests, logs, account state, and server-side saves you enable, then observe the host during a representative local test.

Installation path Appropriate host What is verified
Tagged release assets macOS or Windows The v2026-09-02 release is labeled for both platforms and has three assets. GitHub may load the asset list dynamically.
Source build A host with Git, CMake, a supported C++ toolchain, and dependencies detected by the project The repository includes CMakeLists.txt and is designed to be built from source.
Repository Dockerfile A Docker-capable host used for controlled evaluation A Dockerfile exists, but the available project instructions do not define a complete production container deployment with persistent mounts and published ports.
Native Windows compilation Advanced development use The project says newserv works on Windows but is difficult to compile there. A packaged release avoids that build path.

Required preparation

  • A supported PSO client and a backup of its character or memory-card data.
  • A dedicated directory for newserv, its configuration, logs, quests, account data, and server-side saves.
  • A terminal with permission to create and modify files in that directory.
  • Git and CMake for a source build.
  • A C++ compiler and any libraries reported by CMake as missing.
  • A trusted LAN client for testing before public exposure.
  • Docker only if evaluating the repository Dockerfile.
Back up both sides of the session

The project history explains that malformed PSO traffic has caused crashes and save corruption in the wider PSO ecosystem. Back up client saves, memory-card images, account state, and any existing server-side saves before introducing a new server, proxy, quest, patch, or cross-version option. Test with disposable data first.

Install the macOS or Windows release

Use this path when an asset for your operating system and architecture is present on the tagged release page. Do not download an asset from an unrelated fork or unpack files over an active server installation. Keep each version in its own directory so rollback remains possible.

1

Open the tagged release

Open newserv v2026-09-02. Confirm that the tag shown is v2026-09-02 and that the release comes from fuzziqersoftware/newserv.

2

Select the matching asset

Download the macOS or Windows asset that explicitly matches the host. Do not treat GitHub's automatically generated source-code archives as prebuilt application packages. The release page is the source of truth for the current asset names and architectures.

3

Extract into a versioned directory

Create a directory such as newserv-v2026-09-02 and extract the complete package into it. Preserve the package's directory hierarchy. newserv uses supporting resources as well as an executable, so moving only the executable is not a valid installation.

4

Inspect the included server files

Verify that the extracted tree includes the executable and the supplied resource or system directories. Compare the result with the release notes and repository layout before modifying configuration.

5

Start from a terminal

Open Terminal or PowerShell in the extracted directory and invoke the packaged newserv executable from there. Starting in the installation directory keeps relative resource paths aligned. Preserve the complete startup output for verification and troubleshooting.

On macOS, the executable may require permission to run if an archive did not preserve its executable bit. On Windows, run it from PowerShell or Command Prompt rather than hiding startup output behind a file-manager launch. Do not disable operating-system security controls globally to bypass a warning. Verify the repository, tag, and downloaded file before applying a narrow exception.

Asset names are deliberately not hardcoded here because the release page is the authoritative inventory and GitHub can change how attached assets are presented. If you already use GitHub CLI, the following command downloads all assets attached to the pinned tag into the current directory:

gh release download v2026-09-02 \
  --repo fuzziqersoftware/newserv

Review the downloaded filenames and extract only the package for the intended platform. Downloading all assets does not make all of them applicable to the current host.

Build newserv from source

A workflow for cloning, configuring, building, and starting newserv from a pinned repository revision.
Pin the revision, keep the build directory separate, and run newserv from a directory where its supplied resources remain available.

A source build is useful on Linux, for development, or when no packaged asset matches the host. Build the tagged revision rather than an unrecorded moving branch. The commands below use an out-of-tree CMake build so generated files do not overwrite the source tree.

1

Install the general build toolchain

Install Git, CMake, and a C++ compiler using the host operating system's supported package mechanism. CMake will report any project dependency it cannot find. Resolve the named dependency from the operating system's package repository rather than guessing unrelated packages.

2

Clone the canonical repository

Clone directly from the project's canonical GitHub URL and enter the resulting directory.

git clone https://github.com/fuzziqersoftware/newserv.git
cd newserv
3

Check out the pinned tag

Fetch tags, check out v2026-09-02, and verify the resulting revision. Git will report a detached HEAD, which is normal when building a release tag.

git fetch --tags
git checkout v2026-09-02
git rev-parse --short HEAD
4

Configure the build with CMake

Generate build files in a dedicated build directory. A successful configuration ends without a fatal CMake error and writes build files to that directory.

cmake -S . -B build
5

Compile newserv

Ask CMake to invoke the generated build system. The command returns successfully only if compilation and linking complete.

cmake --build build --parallel
6

Locate the built executable

Build layouts can differ by generator and operating system. Locate the resulting executable instead of assuming that every generator writes it to the same path.

find build -type f -name newserv -perm -111 -print
7

Start newserv from the repository tree

Run the located executable while the current directory is the repository root. This allows the process to resolve the supplied static and system trees using the layout associated with the checked-out revision. Capture its terminal output.

What a successful build proves

A successful compiler exit proves that the selected source revision built on the host. It does not prove that game data, accounts, client patches, network listeners, or server-side saves are correctly configured. Continue through local client verification before treating the deployment as operational.

Understand the Dockerfile before using it

The canonical repository contains a Dockerfile, so its image can be evaluated with Docker. However, the available project documentation does not define a complete production container contract covering persistent data mounts, every required PSO port, container health checks, or a Docker Compose deployment. The presence of a Dockerfile should not be interpreted as a documented one-command production installation.

To build the Dockerfile from the pinned source tree:

git clone https://github.com/fuzziqersoftware/newserv.git
cd newserv
git checkout v2026-09-02
docker build -t newserv:v2026-09-02 .

Inspect the built image before running it:

docker image inspect newserv:v2026-09-02

Confirm its working directory, entry point, command, declared volumes, and exposed ports. A Docker EXPOSE entry is metadata, not proof that the full client workflow needs only that port. PSO can involve initial services followed by another connection or server-directed transition.

Do not publish guessed container ports

Publishing one guessed port can produce a misleading partial success, such as reaching an initial connection while failing during login, ship selection, block selection, or game entry. Build a listener inventory from the selected configuration and a successful local client session before writing any -p mappings. Also identify the writable account, save, quest, and log paths before deleting a container.

Until those mounts and mappings are confirmed for the pinned revision, use the Dockerfile as an isolated build and evaluation path. A native release or source-tree run is easier to inspect because the relevant directories remain directly visible on the host.

Configure accounts, data, quests, and persistence

Preserve the repository's static and system directory structure. Before editing anything, create a baseline copy and inventory the files in the pinned revision:

find static system -maxdepth 3 -type f -print | sort

This inventory prevents assumptions based on another newserv version. Use configuration examples supplied by the tag, and keep a record of every changed file. If a configuration field is not described for the selected revision, do not copy a value from an unrelated server project.

Choose one client edition

Enable and test the minimum configuration needed for one edition. PC and Blue Burst use their respective patch directories and client procedures. Console clients may use DNS, a loader, a patched client, or another platform-specific mechanism described in the repository. Cross-version play should be introduced only after each participating version works independently.

Accounts

Read the repository's User accounts section before creating players. Establish how the selected edition identifies accounts, where the associated records are stored, and which files change after a successful login. Use test accounts during validation and do not publish account records in screenshots or issue reports.

Server-side saves

newserv documents server-side saves. If enabled for the selected client, locate the files that change when a test character saves, back them up, and perform a restoration test. Do not assume that every PSO edition uses the same save model. Some client data may remain client-side even when another edition stores important state on the server.

Quests and gameplay data

Add quests only after the base server works. The repository has sections for installing quests and item tables and drop modes. Introduce one content change at a time, record its source and date, restart only as documented, and test with disposable character data.

REST API and administrative functions

newserv includes a documented REST API, chat commands, proxy behavior, and other advanced functions. Do not expose these merely because the main server starts. Identify their bindings, authentication requirements, and intended operators from the active revision. Keep administrative listeners on a trusted network unless there is a reviewed reason to provide remote access.

Connect the selected PSO client

There is no single universal connection procedure for every PSO release. The correct method is determined by the client edition, platform, region, and executable revision. Use the repository's How to connect section and apply only the subsection matching the client in front of you.

Client family Connection preparation Important distinction
PSO PC Use the PC-specific patch directory and connection instructions supplied by newserv. Do not substitute Blue Burst patches merely because both run on a PC.
PSO Blue Burst Use the Blue Burst patch directory and instructions for the exact client executable. Blue Burst includes services and account behavior that differ from earlier PC releases.
Dreamcast Follow the Dreamcast connection method documented by newserv for the chosen client and network environment. A DNS-based or patched-client flow may impose address and port constraints beyond one raw endpoint.
GameCube and Episode 3 Use the documented GameCube connection path and Episode 3 configuration where applicable. Episode 3 has additional server features and should be tested independently.
Xbox Use the Xbox-specific compatibility and connection guidance. Do not infer Xbox support or setup from the GameCube workflow.
1

Make a reversible client copy

Back up the executable, patch directory, configuration, character data, or memory-card image used by the selected client. Do not test against the only copy of a valuable save.

2

Apply only the matching connection method

Follow the newserv subsection for the exact edition. When a patch directory is required, use the PC or Blue Burst directory associated with that client instead of combining patches.

3

Point the client at the LAN deployment

Use the server's trusted LAN address wherever the documented connection method accepts or embeds a server address. Do not begin with a public relay endpoint.

4

Complete the full game transition

Proceed beyond the first connection. Verify login, ship or block selection where applicable, lobby entry, game creation, quest loading, and a clean disconnect. Watch the server output throughout the sequence.

The client may make several TCP connections during this workflow or receive another address or port from the server. Reaching the first listener is therefore not proof that a tunnel for one public host and port can carry the complete PSO session.

Verify the process, listeners, and game session locally

A local verification path from the newserv process and listening sockets through the host firewall to a Phantasy Star Online client.
Verify startup, sockets, firewall policy, and the complete client session in that order.

Keep the startup terminal open and save its output. A usable start should load the intended configuration and resources without a fatal error, remain running, and create the listeners required by the selected PSO edition. Missing files, parse errors, failed binds, and permission failures must be corrected before client testing.

Inspect listeners on Linux

ss -lntp
ss -lnup

The first command lists listening TCP sockets. The second lists UDP sockets. Match the process identifier and executable to newserv, then record every address and port associated with it.

Inspect listeners on macOS

lsof -nP -iTCP -sTCP:LISTEN
lsof -nP -iUDP

Inspect listeners on Windows

Get-NetTCPConnection -State Listen |
  Sort-Object LocalPort

Get-NetUDPEndpoint |
  Sort-Object LocalPort

Correlate the resulting process ID with the newserv process. Do not expose every socket shown by these commands. The host may also be running file sharing, remote administration, databases, or unrelated applications.

Record the complete connection inventory

Connection stage Evidence to record Expected result
Server startup Loaded configuration, resource paths, and absence of fatal errors The process remains running and creates the intended listeners.
Initial client contact Destination address, destination port, and transport newserv logs or otherwise observes the client connection.
Authentication Account result and any new or modified state files The test account is handled according to the selected configuration.
Ship, block, or lobby transition Any new connection and any address or port supplied to the client The client reaches the intended lobby instead of stalling after login.
Game and quest entry Additional connections, loaded quest files, and server messages The client can create or join a game and load a known-good quest.
Persistence Changed account or save files followed by a reconnect Test state returns as expected for the selected edition and save mode.

If the listener output alone does not reveal the sequence, capture traffic only on your own test network and only for systems you control. A packet capture can show whether the client creates a second connection or whether newserv advertises another endpoint. Redact account names, addresses, and other identifying data before sharing a trace.

Evaluate Localtonet against the verified connection sequence

Diagram of a locally verified newserv listener mapped through a matching Localtonet tunnel to a remote PSO client.
Verify the local session first, then match the Localtonet tunnel to the listener’s observed protocol and port.
A remote Phantasy Star Online client reaching a verified newserv TCP listener through a matching Localtonet tunnel.
A one-to-one raw-port tunnel is appropriate only when the client can use the assigned public endpoint throughout that connection stage.

With Localtonet, our client application establishes an outbound connection from the selected device to a relay. A raw TCP tunnel can map an assigned public host and port to a confirmed local newserv TCP listener without inbound router port forwarding or a public IP address. The Localtonet client device must be able to reach the local target, and the tunnel is available only while that device is connected and the tunnel is running.

PSO server compatibility cannot be established merely by forwarding the first listening port. A selected client may use several public-facing connections, may expect a particular destination port, or may receive another server address or port during login, ship selection, block selection, or game entry. DNS-based console workflows add another constraint because a Localtonet raw-port endpoint is not automatically a replacement for the DNS behavior expected by the console.

Full newserv compatibility through an assigned endpoint is not proven

The available evidence does not prove that every newserv game-server mode can advertise a Localtonet-assigned public host and port for every subsequent PSO connection. It also does not prove that every client patch can encode a hostname and arbitrary public port. Treat remote access as an edition-specific compatibility test, not as a generally supported newserv deployment claim.

When a Localtonet TCP tunnel is a valid test

  • The local listener is confirmed to use raw TCP.
  • The client can accept the assigned public hostname or resolve it to an address.
  • The client can use the assigned public port for that connection stage.
  • newserv does not redirect the client to an unreachable private address.
  • Every later connection has either been shown to reuse that endpoint or has its own verified mapping.
  • No administrative, REST, or diagnostic listener is accidentally included.

If any of those conditions is false, do not claim that the assigned endpoint supports the complete game session. A successful socket connection followed by a failed lobby transition is evidence of partial reachability, not successful remote hosting.

Configure a verified raw TCP listener with Localtonet

1

Install and run the Localtonet client

Run our client on the newserv host or another device that can reach the confirmed listener. Keep the Localtonet device token private. The token identifies that client device and must not appear in screenshots, logs, patches, or public repositories.

2

Select the client device

In the Localtonet dashboard, select the authenticated device that can reach newserv. Do not target a device on another network unless it has verified connectivity to the local listener.

3

Select an available relay server

Choose from the relay servers or regions currently shown in the dashboard. Available choices can vary, so do not copy an old server code from another tutorial.

4

Create a TCP tunnel for one confirmed listener

Select a raw TCP tunnel. Enter the local IP address and port proven during the LAN test. If newserv runs on the same device as our client, use the local address that the client can actually reach. Do not enter the public endpoint as the local target.

5

Start the tunnel

Creating a tunnel does not start it. Use the Start button and confirm that the tunnel reports a running connection. Record the assigned public host and port without recording the device token.

6

Apply the public endpoint only where the client supports it

Enter or patch the assigned host and port only if the connection method for the selected PSO client supports an arbitrary endpoint. Preserve an untouched client copy so the change can be reversed.

7

Test from an external network

Use a network outside the newserv LAN. Repeat login, ship or block selection, lobby entry, game creation, quest loading, and disconnect. Compare newserv output with the successful local session and note the exact stage where behavior diverges.

The same documented workflow can be repeated for another verified TCP listener, but only if the PSO client and newserv can use each assigned public endpoint correctly. Separate tunnels do not automatically solve an embedded-address or fixed-port requirement. Do not choose UDP, combined UDP/TCP, or HTTP without evidence that the exact listener needs that protocol.

Consult the Localtonet documentation for the current client and tunnel controls. Stop or delete test tunnels when they are no longer required.

Operate, back up, upgrade, and roll back newserv

Routine operation

Start newserv from the same installation or repository directory used during validation. Keep its terminal output or configured logs available while players connect. Monitor the process separately from the Localtonet client. A running tunnel does not prove newserv is accepting connections, and a running newserv process does not prove the tunnel is active.

Shut down newserv using the normal interactive or process-control method supported by the active build. Avoid terminating the host while account or save data may be changing. After shutdown, confirm that the process has exited before copying persistent state or replacing files.

Backup inventory

Back up the exact configuration, account, save, quest, and customized gameplay-data files identified during testing. Include a manifest containing the newserv tag or commit, host platform, build method, client editions, and the date of the backup. Keep Localtonet device tokens and unrelated credentials out of the archive.

A useful backup must be restorable. Restore a copy into a separate test directory, start the same pinned revision, and connect with a disposable account. Confirm that the expected configuration and test state return before relying on the process for production data.

Upgrade procedure

1

Record the working revision

Save the current tag or commit, installation method, executable checksum if used, configuration inventory, and listener map.

2

Stop remote access and newserv

Stop the Localtonet tunnel first so players cannot begin a session during maintenance, then shut down newserv cleanly.

3

Back up persistent data

Copy the verified configuration, account, save, quest, and customized data paths after the process has stopped.

4

Install the new revision separately

Extract or build into a new versioned directory. Do not overwrite the known-good installation. Review release changes and compare supplied configuration material before migrating custom values.

5

Repeat local verification

Start locally, inspect every listener, connect the selected client, enter a game, verify persistence, and test installed quests before restoring remote access.

6

Roll back if verification fails

Stop the failed revision, restore the previous directory and backup, then repeat the known-good local test. Restart the Localtonet tunnel only after the original service is working again.

Troubleshoot one layer at a time

CMake cannot find a compiler or dependency

Read the first fatal CMake message. Confirm that CMake and a C++ compiler are installed and available in the current terminal. If CMake names a missing library or development package, install that exact dependency through the host's supported package mechanism, remove the incomplete build directory if necessary, and run configuration again.

The build succeeds but newserv immediately exits

Run it from the repository root or complete release directory so relative resource paths remain valid. Look for the first missing-file, parse, permission, or bind error. Confirm that static, system, and any other supplied directories were not separated from the executable.

A listener cannot bind

Another process may already own the address or port, the selected port may require elevated privileges, or the configured address may not exist on the host. Use the operating-system listener commands in this guide to identify the conflicting process. Do not run all of newserv with broad administrative privileges merely to conceal a binding problem.

The client never reaches newserv

Recheck the exact client-edition connection method, patch directory, destination address, and local firewall policy. Verify that newserv listens on an address reachable from the LAN rather than only loopback. Compare the client executable or platform with the compatibility information for the pinned revision.

Login works, but ship, block, or lobby selection fails

Capture the server output at the transition. Inspect whether the client creates another connection or receives another address or port. Confirm that every required local listener is active and that the client-specific patching method matches the configured server behavior. Do not interpret initial login as a complete connectivity test.

A quest fails or the client disconnects while loading

Return to a known-good supplied quest or base configuration. Remove the most recently installed custom quest, verify its intended game version, and retest with disposable character data. Keep networking unchanged while isolating a content failure.

Local play works, but the Localtonet endpoint fails immediately

Confirm that the selected Localtonet device is connected, the tunnel was explicitly started, the tunnel type is TCP, and its target matches the successful local address and port. Test from a truly external network. If no connection appears in newserv, the problem is before the application listener.

Remote login works, but a later transition fails

This commonly indicates that the complete connection sequence is not represented by the first tunnel. Compare local and remote sessions to determine whether the client opens another connection or receives a private address, fixed port, or other endpoint that cannot be represented by the assigned public host and port. Do not open random tunnels. If the client cannot accept the necessary assigned endpoints, mark that edition or mode as incompatible with this tunnel arrangement.

The public endpoint stops responding

Check four components separately: the newserv process, the required local listeners, the Localtonet client connection, and the tunnel's running state. Localtonet tunnels remain available only while the selected device is connected and the tunnel is running.

Frequently asked questions

What is newserv?

newserv is a game server, proxy, and reverse-engineering toolkit for Phantasy Star Online. Its canonical documentation covers compatibility, server setup, client connection, accounts, quests, item tables, cross-version play, server-side saves, Episode 3, proxy use, chat commands, and a REST API.

Is the v2026-09-02 release dated September 2 or September 3?

The tag is named v2026-09-02, so its tag date is September 2, 2026. GitHub displays the release publication time as September 3, 2026. Both labels refer to the same tagged release.

Can newserv run on Windows?

Yes. The project says newserv works on Windows but is difficult to compile there. The v2026-09-02 release is labeled for macOS and Windows, so an applicable packaged release is generally the simpler Windows path.

Does newserv support Docker?

The canonical repository contains a Dockerfile and can be built as an image. The available project instructions do not define a complete production container deployment with verified persistent mounts and every PSO port mapping, so inspect the image and selected configuration before running it.

Which port does newserv use?

Do not reduce newserv to one universal port. The required listeners depend on the selected PSO edition, enabled services, and connection stage. Use the pinned configuration, startup output, socket inspection, and a complete local session to inventory the actual addresses, ports, and protocols.

Can one Localtonet TCP tunnel host every PSO edition?

That is not established. A PSO client may make several connections, expect fixed ports, use DNS behavior, or receive another endpoint from newserv. One TCP tunnel is suitable only for a verified TCP connection stage whose client can use the assigned public host and port.

Do I need router port forwarding with Localtonet?

No inbound router port forwarding is required for a matching Localtonet tunnel. Our client establishes an outbound connection to a relay. The device must remain connected, the tunnel must be running, and it must be able to reach the verified local newserv listener.

Should I expose the newserv REST API with the game service?

No. Treat the REST API as a separate administrative surface. Keep it private unless its binding, authentication, authorization, and remote-use requirements have been reviewed for the selected revision. Never expose it simply because it belongs to the same process.

Where should I report a newserv bug?

Check the project's TODO file and GitHub issue tracker first. When reporting a reproducible defect, include the revision, platform, client edition, installation method, sanitized logs, and exact reproduction steps. Remove account data, device tokens, and private endpoints.

Test a verified newserv listener with Localtonet

First complete a local PSO session and record every connection stage. If the selected client can use an assigned public host and port for a confirmed raw TCP listener, create a matching Localtonet tunnel and repeat the complete workflow from an external network.

Get Started Free →

Corrections & updates

Substantive changes approved by the Localtonet editorial team are listed transparently below.

Rewrite the article as a genuinely executable newserv tutorial. Expand PSO on first reference and define the exact supported scope, such as a particular client edition and server role. Research the complete canonical README and current release assets. Add verified host prerequisites, supported operating systems and architectures, dependency installation, download or clone steps, source-build commands, Docker instructions where officially supported, configuration filenames and required data, startup commands, expected output, listener

Localtonet is a secure multi-protocol tunneling and proxy platform designed to expose localhost, devices, private services, and AI agents to the public internet supporting HTTP/HTTPS tunnels, TCP/UDP forwarding, mobile proxy infrastructure, file server publishing, latency-optimized game connectivity, and developer-ready AI agent endpoint exposure from a single unified control plane.

support