> For the complete documentation index, see [llms.txt](https://docs.kiloiot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kiloiot.io/connectors/lns-connector/built-in-lns.md).

# Built-in Network Server

Kilo IoT Server includes a managed LoRaWAN Network Server — no separate LNS to deploy, joins and downlinks automatic.

In any LoRaWAN deployment, the network server is the critical middleware layer between your gateways and your applications. It manages device authentication, session handling, message routing, uplink deduplication, and downlink scheduling. Without a network server, raw radio packets from gateways cannot be processed into usable application data.

Traditionally, deploying a LoRaWAN network meant setting up and maintaining a separate network server — either open-source or commercial — integrating it with your gateways, configuring device profiles, and connecting it to a separate platform for visualization and automation. That operational overhead scales with the size of the deployment and adds ongoing maintenance burden.

## How the Kilo IoT Platform Handles This

The Kilo IoT Server includes a fully managed LoRaWAN Network Server (LNS) directly within the platform. There is nothing to install, configure, or maintain separately. When you add an LNS connector and register gateways, the built-in network server activates automatically for your organization.

All core network server functions are handled transparently:

* **Join requests** — Device authentication and session key generation for over-the-air activation (OTAA)
* **Uplink processing** — Receiving, deduplicating, and routing data from devices through gateways
* **Downlink scheduling** — Queuing and delivering commands and configuration updates to devices
* **Message deduplication** — When multiple gateways receive the same device transmission, the server deduplicates automatically

## What This Means for Your Deployment

* **No third-party network server required** — no separate LNS to procure, deploy, or maintain
* **No additional hosting burden** — the network server is managed as part of the platform
* **Immediate integration** — device data flows directly into dashboards, automation rules, alarm evaluations, and historical queries without additional integration work
* **Reduced time to deployment** — from gateway registration to live data in minutes, not days

By embedding the network server into the platform, the Kilo IoT Server eliminates an entire infrastructure layer from your LoRaWAN deployment — letting your team focus on the devices and the data, not on network plumbing.

For an overview of the LoRaWAN protocol, see [What is LoRaWAN?](/connectors/lns-connector/what-is-lorawan.md). For gateway setup, see [Gateways](/gateways.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.kiloiot.io/connectors/lns-connector/built-in-lns.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
