{"id":21243738,"url":"https://github.com/laironcosta1994/nodelistserver-example","last_synced_at":"2026-05-04T16:37:44.925Z","repository":{"id":252177858,"uuid":"839114431","full_name":"laironcosta1994/NodeListServer-Example","owner":"laironcosta1994","description":"Example project for Unity that demostrates NodeLS in action.","archived":false,"fork":false,"pushed_at":"2024-08-07T02:12:24.000Z","size":882,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-21T20:09:30.766Z","etag":null,"topics":["mirror-networking","networking","nodejs","unity"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laironcosta1994.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-07T02:11:29.000Z","updated_at":"2024-08-08T15:16:24.000Z","dependencies_parsed_at":"2024-08-08T06:29:18.160Z","dependency_job_id":null,"html_url":"https://github.com/laironcosta1994/NodeListServer-Example","commit_stats":null,"previous_names":["crystaldev1004/nodelistserver-example","laironcosta1994/nodelistserver-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laironcosta1994%2FNodeListServer-Example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laironcosta1994%2FNodeListServer-Example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laironcosta1994%2FNodeListServer-Example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laironcosta1994%2FNodeListServer-Example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laironcosta1994","download_url":"https://codeload.github.com/laironcosta1994/NodeListServer-Example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243682845,"owners_count":20330504,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mirror-networking","networking","nodejs","unity"],"created_at":"2024-11-21T01:13:42.259Z","updated_at":"2026-05-04T16:37:44.889Z","avatar_url":"https://github.com/laironcosta1994.png","language":"C#","funding_links":["https://ko-fi.com/coburn","https://paypal.me/coburn64"],"categories":[],"sub_categories":[],"readme":"# NodeListServer Example Project\n\n[![Ko-Fi](https://img.shields.io/badge/Donate-Ko--Fi-red)](https://ko-fi.com/coburn) \n[![PayPal](https://img.shields.io/badge/Donate-PayPal-blue)](https://paypal.me/coburn64)\n![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)\n\n_**Please consider a donation (see the Ko-Fi button above) if this project is useful to you.**_\n\nThis repository contains a Unity 2020.3 LTS project that demostrates a implementation of a classic Server Browser (one you'd see in classic games such as Battlefield 1942, old Call of Duty games, etc). \n\nIt is advised that this project is only used as a reference, don't expect it to be feature rich.\n\nWhile the Server Browser logic is network stack agnostic (as in, it doesn't care if you're using Mirror, Mirage, a fishy-named network library or something paid), the Mirror and Mirage integrations are \ndependent on the respective network stacks and require further steps. To help keep dependencies to a minimum the mentioned network stacks are **not** included in the repository. \n\n## Requirements\n\n- You must have installed and configured Node List Server. You can get it here from the [NodeListServer repository](https://github.com/SoftwareGuy/NodeListServer).\n\n## Setup\n\n1. \tYou can either clone this repository and open it in your version of Unity, please note that any versions below Unity 2020 LTS are unsupported and I cannot have 50 different Unity versions on my workstation. Alternatively, download a snapshot \narchive of this repository and copy the **NodeLS Client** directory into your project's Assets directory.\n2. \tIf you use Unity Assembly Definitions, add a reference to the `NodeLS.Client` Definition. This will allow you to access the `NodeListServer` namespace.\n3. \tYou're good to go! You can now create class instances of the NodeLS Client. An example would be `NLSCommunicator myCommunicator = new NLSCommunicator();`. \n\nReview the `Communicator.cs` as it's commented and does explain what it's trying to do.\n\n### Testing with DebugCommunicator\n\n-\tThere is a `DebugCommunicator` script that I used during development to ensure things are operating correctly. It uses three keys which are **Q**, **W** and **E**.\n-\t**Q** sends a request to retrieve the server list, **W** fakes a server registration request and **E** removes the fake server that it created (if it was successful).\n-\tYou'll need to modify the Endpoint in which it uses for it to work on your setup. This script has a compile define to only be available inside the Unity Editor. It will not be compiled in standalone builds.\n-\tUsing this script outside of a testing environment is a bad idea. You've been warned.\n\n### Integration Packages\n\n-   Some integrations exist for various network stacks as mentioned earlier. \n-   Look inside the `NodeLS Client Integrations` folder for a UnityPackage file that contains scripts for use with the network stack the integration is for.\n-   Note that some integrations may be cause a compile error or warning about things being obsolete over time. If this happens, please open a issue ticket.\n\n## Wait, why I cannot connect to a listed server?\n\n**The easy answers...**\n\n-   The server died. It happens, as it's Unity Engine after all.\n-   The server port is closed or needs Port Forwarding. If the server is on your ISP connection, open that port in your router: read the manual to figure out how to do that. See the footnote for additional info.\n\n**The more technicial answers...**\n\n*Are you trying to connect a server hosted on your network using the Server Browser?*\n\n-   Unless your NodeLS instance is inside your local network, NodeLS will detect your **public** IP address. Your private IP might be `10.0.0.2`, but your public IP might be `42.69.4.20`.\n-\tMost routers may not support loop-back connections, which is basically a LAN connection calling the external outside IP address.\n-   Some ISPs block game server traffic. Comcast, Verizon and Vodafone are some that do traffic blocking, including servers on non-business grade connections. You're screwed if your ISP does that to you.\n-\tHosting servers behind a VPN connection is a bad idea.\n-\tMobile connections will not work for server hosting. Due to the nature of how mobile internet works, even if it *does* work partially, if you drop signal then you're in the dark.\n\nFootnote: Keep in mind some ISPs can disallow port forwarding for stupid reasons, or they'll penalize you for doing so. If it's on a Windows/Linux cloud instance, open the firewall using Windows Firewall or \niptables, although if you're using Google Cloud/Amazon AWS/Microsoft Azure then it can be a clusterfuck.\n\n## I need help!\n\n-\tOpen a issue ticket, although I expect you to know the absolute basics of C# and Unity Engine first.\n-\tDon't be shy asking for help, but please give details as to what you tried, and what went wrong.\n\n## Credits\n\n- \tAnthonyE\n-\tJesusLuvsYooh\n-\tNodeLS users \u0026 contributors\n-\tCoffee donators\n-\tMirror discord\n\n_**Thanks for using Australian Open Source Software!**_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaironcosta1994%2Fnodelistserver-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaironcosta1994%2Fnodelistserver-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaironcosta1994%2Fnodelistserver-example/lists"}