User Floor-Based Addressing
User Floor-Based Addressing#
This mod sets DHCP mode, DNS servers, and assigns network addresses based on floor number and user increment.
| Version | 0.1.5 |
| Author | CJFWeatherhead |
| Status | 🟢 Active Development |
| Game Version | beta |
| Last Updated | 2026-01-31 |
Download#
Installation Instructions
Using Mod Manager (Recommended)#
- Download the Mod Manager
- Find User Floor-Based Addressing in the Available mods list
- Click Download to install automatically
- Configure parameters in the GUI
Manual Installation#
- Download the zip file above
- Extract the
user-floor-addressing/folder to your mods directory:- Windows:
%APPDATA%\Godot\app_userdata\Tower Networking Inc\mods\ - Linux:
~/.local/share/godot/app_userdata/Tower Networking Inc/mods/
- Windows:
- Ensure luajit.elf is in the mods directory
Configuration#
Configure these settings using the Mod Manager or edit entry.lua directly.
| Parameter | Type | Default | Description |
|---|---|---|---|
| Network Address Format | string | f%d/usr%d | Format string for network addresses. %d placeholders are replaced with floor number and user increment (e.g., “f%d/usr%d” becomes “f0/usr1”) |
| DHCP Mode | select: disabled, boot_dhcp, periodic_dhcp | boot_dhcp | DHCP mode for users. boot_dhcp = DHCP on boot only, periodic_dhcp = periodic DHCP requests, disabled = manual only |
| Floor DNS Server Format | string | @f%d/dns | Format string for floor-specific DNS servers. %d is replaced with floor number (e.g., “@f%d/dns” becomes “@f0/dns”) |
| Fallback DNS Server 1 | string | @f0/dns1 | First fallback DNS server if floor-specific DNS is unavailable |
| Fallback DNS Server 2 | string | @f0/dns2 | Second fallback DNS server |
| Disable Hardware Address Refresh | boolean | False | If enabled, users will not refresh their hardware addresses |
| Use Predictable Hardware Addresses | boolean | False | If enabled (requires Disable Hardware Address Refresh), hardware addresses will be floor + increment (e.g., floor 5 user 3 = 5003, floor 113 user 321 = 113321) |
| Phone Address Format | string | @voice/f%d/%d | Format string for phone network addresses. First %d is floor number, second %d is device increment (e.g., “@voice/f%d/%d” becomes “@voice/f0/1”) |
| CCTV Address Format | string | @cam/f%d/%d | Format string for CCTV camera network addresses. First %d is floor number, second %d is device increment (e.g., “@cam/f%d/%d” becomes “@cam/f0/1”) |
About This Mod#
This mod sets DHCP mode, DNS servers, and assigns network addresses based on floor number and user increment.
Features#
- Sets DHCP mode to “boot_dhcp” for all users
- Assigns addresses like “f{floor}/usr{increment}”
- Configures DNS servers with floor-specific primary and floor 0 fallbacks
- Tracks user count per floor for incremental addressing
Full Documentation
User Floor-Based Addressing Mod#
This mod automatically configures network settings for users when they spawn in the game.
Features#
- DHCP Configuration: Automatically sets DHCP to “boot_dhcp” mode (DHCP on boot)
- Floor-Based Addressing: Assigns predictable network addresses based on floor number and user count
- Format:
f<floor_num>/usr<increment> - Example: User #5 on floor 3 gets address
f3/usr5 - Example: User #1 on floor 10 gets address
f10/usr1
- Format:
- Automatic DNS Setup: All users automatically get DNS servers configured as
@f0/dns1,@f0/dns2,@f0/dns3
How It Works#
The mod hooks into the on_user_spawned callback, triggered whenever a new user is created:
- Retrieves the user’s logic controller and network control module
- Gets the floor number from the user’s location
- Maintains a counter of users per floor
- Generates a predictable network address based on floor and user count
- Sets DHCP mode to “boot_dhcp”
- Configures DNS servers to floor 0 DNS (
@f0/dns1,@f0/dns2,@f0/dns3)
Limitations#
Hardware Addresses: Hardware addresses are randomly generated by the game’s RNG during device creation and cannot be controlled by mods. The mod API does not provide methods to set or modify hardware addresses. This is a game engine limitation.
Installation#
- Copy the
user-floor-addressingfolder to yourlua/directory - The mod will be automatically loaded when the game starts
- Press F11 to reload the mod without restarting the game
Technical Details#
DHCP Modes#
The game supports three DHCP modes:
"disabled"- DHCP disabled, manual configuration required"boot_dhcp"- Request DHCP address on boot"periodic_dhcp"- Periodically request DHCP updates
This mod uses "boot_dhcp" for reliable automatic configuration on user creation.
DNS Configuration#
DNS servers are set using a Godot Array containing the addresses:
@f0/dns1@f0/dns2@f0/dns3
Address Format#
Addresses follow the pattern f<floor>/usr<count> where:
flooris the floor number from the locationcountis an auto-incrementing counter per floor starting at 1
Compatibility#
- Tested with game version: beta
- Compatible with other mods that don’t modify user network settings
- Works alongside device modification mods and reward scaling mods (like
floor-reward-scaling)
Additional Notes
DHCP modes available: “disabled”, “boot_dhcp”, “periodic_dhcp”. Uses on_user_spawned hook.
Technical Details
| Field | Value |
|---|---|
| Mod ID | user-floor-addressing |
| Creation Date | 2026-01-01 |
| Last Updated | 2026-01-31 |
| Game Version | beta |
| Dependencies | None |
| Website | https://github.com/CJFWeatherhead/TNI-Mods/tree/beta/lua/user-floor-addressing |
Release URLs: