diff --git a/docs/api.md b/docs/api.md
index 082a7c01..d77c3bad 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -82,6 +82,7 @@ Each location has a `name` and an `id` (a.k.a. "code" or "address"), is placed
in a Region and has access rules.
The name needs to be unique in each game, the ID needs to be unique across all
games and is best in the same range as the item IDs.
+World-specific IDs are 1 to 253-1, IDs ≤ 0 are global and reserved.
Special locations with ID `None` can hold events.
diff --git a/docs/network protocol.md b/docs/network protocol.md
index f1990a38..bcc36dbe 100644
--- a/docs/network protocol.md
+++ b/docs/network protocol.md
@@ -117,7 +117,7 @@ Sent to clients when the connection handshake is successfully completed.
| slot | int | Your slot number on your team. See [NetworkPlayer](#NetworkPlayer) for more info on the slot number. |
| players | list\[[NetworkPlayer](#NetworkPlayer)\] | List denoting other players in the multiworld, whether connected or not. |
| missing_locations | list\[int\] | Contains ids of remaining locations that need to be checked. Useful for trackers, among other things. |
-| checked_locations | list\[int\] | Contains ids of all locations that have been checked. Useful for trackers, among other things. |
+| checked_locations | list\[int\] | Contains ids of all locations that have been checked. Useful for trackers, among other things. Location ids are in the range of ± 253-1. |
| slot_data | dict | Contains a json object for slot related data, differs per game. Empty if not required. |
### ReceivedItems
@@ -354,9 +354,9 @@ In JSON this may look like:
{"item": 3, "location": 3, "player": 3, "flags": 0}
]
```
-`item` is the item id of the item
+`item` is the item id of the item. Item ids are in the range of ± 253-1.
-`location` is the location id of the item inside the world
+`location` is the location id of the item inside the world. Location ids are in the range of ± 253-1.
`player` is the player slot of the world the item is located in, except when inside an [LocationInfo](#LocationInfo) Packet then it will be the slot of the player to receive the item
diff --git a/test/general/TestIDs.py b/test/general/TestIDs.py
index c69e6b10..f91775c8 100644
--- a/test/general/TestIDs.py
+++ b/test/general/TestIDs.py
@@ -18,14 +18,14 @@ class TestIDs(unittest.TestCase):
self.assertEqual(len(known_location_ids) - len(world_type.location_id_to_name), current)
def testRangeItems(self):
- """There are Javascript clients, which are limited to 2**53 integer size."""
+ """There are Javascript clients, which are limited to Number.MAX_SAFE_INTEGER due to 64bit float precision."""
for gamename, world_type in AutoWorldRegister.world_types.items():
with self.subTest(game=gamename):
for item_id in world_type.item_id_to_name:
self.assertLess(item_id, 2**53)
def testRangeLocations(self):
- """There are Javascript clients, which are limited to 2**53 integer size."""
+ """There are Javascript clients, which are limited to Number.MAX_SAFE_INTEGER due to 64bit float precision."""
for gamename, world_type in AutoWorldRegister.world_types.items():
with self.subTest(game=gamename):
for location_id in world_type.location_id_to_name: