Die Basis der Landschaft in UNItopia bildet die sogenannte Map. Map: ==== Sie ist eigentlich ein zweidimensionaler Koordinaten-Raum im Bereich von -2147483648 bis +2147483647; es sind also theoretisch ca. 1.84 hoch 19 Raeume moeglich. Durch den Integerueberlauf gibt es allerdings keine Raender, d.h. man kann sich die gesamte Map als einen Torus vorstellen. Map-Raeume: =========== Map-Raeume haben als File-Namen grundsaetzlich /map/mX_Y, wobei X und Y fuer die entsprechenden Koordinaten steht. Beim Laden eines Map-Raumes wird zuerst nach einer Datei entsprechenden Namens gesucht: - Existiert diese nicht wird sie erzeugt, geladen und sofort wieder geloescht. Diese Standard-Datei enthaelt nur eine Zeile, naemlich > inherit "/i/room"; <. Das Aussehen wird danach von dem File /map/map gesetzt. - Existiert die Datei, so wird sie nur geladen, d.h. /map/map bekommt nichts davon mit. Domains: ======== Aus dieser Map koennen nun rechteckige Teil-Bereiche, die sogenannten "Domains" herausgeschnitten werden. Die Verantwortung fuer Verwaltung und Gestaltung liegt hierbei bei dem jeweiligen "Gouverneur", einem Spieler vom Level 30. Alle Domains sind in dem File /adm/DOMAINS mitsamt den Koordinaten ihrer linken unteren Ecke, ihren Ausmassen und ihrem Gouverneur eingetragen. Ihr "physikalischer" Standort ist ein Subdirectory unter /d , der erste Buchstabe einer Domain muss hierbei immer ein Grossbuchstabe sein. Domain-Mitglieder: ================== Eine Domain wird wiederum in Teilbereiche der einzelnen Domain-Mitglieder unterteilt, Spieler vom Level 21, wobei ein Mitglied durchaus mehrere Teilbereiche besitzen kann. Die Domain-Mitglieder werden im File /d/Domain/MEMBERS aehnlich wie die Domains selbst in /adm/DOMAINS eingetragen, wobei hier der Gouverneur ebenfalls als Mitglied zaehlt. Jedes Mitglied, also auch der Gouverneur, hat wiederum ein eigenes Subdirectory /d/Domain/mitglied. Die Teilbereiche sind wiederum Directorys unterhalb des Mitglied-Directorys /d/Domain/mitglied/bereich, wobei ein Teilbereich auch direkt in /d/Domain/mitglied liegen kann. Domain-Maps: ============ Jede Domain bzw. jeder Teilbereich kann seinen eigenen map-File besitzen, d.h. /map/map sucht einfach nach /d/Domain/map und diese wiederum nach /d/Domain/mitglied/map bzw. /d/Domain/mitglied/bereich/map. Der Vorteil dieser tiefen Verschachtelung liegt nun darin, dass jede Domain bzw. jeder Teilbereich lokale Koordinaten bezueglich seiner linken unteren Ecke bekommt, d.h. man muss nicht mehr seinen absoluten Standort in /map kennen. In /d/std befindet sich eine Beispiel-Domain. Domain-Map-Raeume: ================== Beim Laden eines Raumes, der zu einer Domain gehoert, wird nun zuerst nach dem entsprechenden File mit lokalen Koordinaten gesucht: /d/Domain/mitglied/mX_Y bzw. /d/Domain/mitglied/bereich/mX_Y - Ist dieser vorhanden, wird er auf den entsprechenden File mit absoluten Koordinaten /map/mX_Y kopiert. Dieser wird geladen und sofort wieder aus dem Directory /map geloescht. - Ist dieser nicht vorhanden, so werden zuerst die Voreinstellungen von /map/map gesetzt und danach die Domain-Map /d/Domain/map, wenn vorhanden, aufgerufen. Diese fuehrt dann das gleiche Spielchen mit ihrem Unterbereich und der Bereichs-Map /d/Domain/mitglied/map bzw. /d/Domain/mitglied/bereich/map durch. Verlassen der Map: ================== Kompliziertere Topologien wie Labyrinthe etc lassen sich in der Map nicht oder nur schwer realisieren. Deshalb koennen in Map-Raeumen Ausgaenge zu Nicht-Map-Raeumen gesetzt werden. Naehres ist in /doc/funktionsweisen/raeume/raumarten ausgaenge zu finden.