This commit is contained in:
ManfredAabye
2025-03-27 09:22:04 +01:00
committed by GitHub
parent 29cee833a2
commit 4f8db7b6e4
2 changed files with 680 additions and 10 deletions
+54 -10
View File
@@ -2,7 +2,7 @@
$title = "Guide";
include_once "include/config.php";
// Fehlerbehandlung für die JSON-Datei
// Fehlerbehandlung für die erste JSON-Datei
$json = file_get_contents('include/destinations.json');
if ($json === false) {
die('Fehler beim Laden der JSON-Datei.');
@@ -12,6 +12,16 @@ if (json_last_error() !== JSON_ERROR_NONE) {
die('Fehler beim Dekodieren der JSON-Datei.');
}
// Fehlerbehandlung für die zweite JSON-Datei (OSW)
$oswJson = file_get_contents('include/oswdestinations.json');
if ($oswJson === false) {
die('Fehler beim Laden der OSW-JSON-Datei.');
}
$oswData = json_decode($oswJson, true);
if (json_last_error() !== JSON_ERROR_NONE) {
die('Fehler beim Dekodieren der OSW-JSON-Datei.');
}
// Datenbankverbindung mit Fehlerbehandlung
$con = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
if (mysqli_connect_errno()) {
@@ -32,7 +42,7 @@ if (mysqli_connect_errno()) {
.list-container { display: none; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; gap: 10px; border-radius: 5px;}
.grid-container { display: none; flex-wrap: wrap; gap: 10px; justify-content: center; border-radius: 5px;}
.region-box { background: <?= HEADER_COLOR ?>; padding: 10px; border-radius: 5px; display: flex; align-items: center; color: <?= PRIMARY_COLOR ?>; }
.region-box { background: <?= HEADER_COLOR ?>; padding: 12px; border-radius: 5px; display: flex; align-items: center; color: <?= PRIMARY_COLOR ?>; }
.region-icon { margin-right: 5px; font-size: 16px; color: <?= PRIMARY_COLOR ?>; }
.grid-item { width: 23%; padding: 10px; border: 1px solid #aaa; background: <?= HEADER_COLOR ?>; text-align: center; border-radius: 5px; color: <?= PRIMARY_COLOR ?>; }
@@ -52,9 +62,10 @@ if (mysqli_connect_errno()) {
<!-- Auswahl Buttons -->
<div class="button-container">
<button onclick="showJSON()">Regionsliste JSON</button>
<button onclick="showDatabase()">Regionsliste Database</button>
<button onclick="showGridList()">Gridliste CSV</button>
<button onclick="showJSON()">Region list</button>
<button onclick="showOSWJSON()">Top 100</button>
<button onclick="showDatabase()">Home Region List</button>
<button onclick="showGridList()">Hypergrid list</button>
</div>
<!-- ########################## JSON-Regionsliste ######################################## -->
@@ -77,8 +88,29 @@ if (mysqli_connect_errno()) {
</div>
<!-- ########################## OSW-JSON-Regionsliste ######################################## -->
<div id="oswJsonList" class="guidebody" style="display: <?= (GRIDLIST_VIEW == 'json') ? 'flex' : 'none' ?>; flex-wrap: wrap; gap: 10px; justify-content: flex-start; border-radius: 5px; padding: 10px;">
<?php foreach ($oswData as $category => $destinations): ?>
<fieldset style='flex: 1; min-width: 250px; max-width: 350px;'>
<legend><?= htmlspecialchars(ucfirst($category)) ?></legend>
<div class='region-container' style='display: flex; flex-wrap: wrap; gap: 10px; border-radius: 5px; padding: 10px;'>
<?php foreach ($destinations as $destination): ?>
<div class="region-box">
<a href="<?= htmlspecialchars($destination['url']) ?>" target="_blank">
<img src="<?= htmlspecialchars($destination['image']) ?>" alt="<?= htmlspecialchars($destination['name']) ?>" width="50" height="50" style="border-radius:5px; margin-right:10px; padding: 10px;">
</a>
<span><?= htmlspecialchars($destination['name']) ?></span>
</div>
<?php endforeach; ?>
</div>
</fieldset>
<?php endforeach; ?>
</div>
<!-- ######################################## Datenbank-Regionsliste ######################################## -->
<!-- todo: Abstand hinzufügen. -->
<div id="databaseList" class="list-container" style="padding: 10px; display: <?= (GRIDLIST_VIEW == 'database') ? 'flex' : 'none' ?>;">
<?php
$sql = "SELECT regionName, serverIP, serverPort FROM regions ORDER BY last_seen DESC LIMIT 10";
@@ -96,7 +128,7 @@ if (mysqli_connect_errno()) {
// Button mit Regionsname
echo "<button style='margin-bottom: 5px;'>$region</button>";
// Button mit "Hop"
echo "<a href='$regionslink' class='hop-button' target='_blank' style='text-align: center;'>Hop $region</a>";
echo "<a href='$regionslink' class='hop-button' target='_blank' style='text-align: center;'><span style='color: rgb(144, 238, 144);'>Hop: </span> $region</a>";
echo '</div>';
}
@@ -112,7 +144,7 @@ if (mysqli_connect_errno()) {
<div id="gridList" class="grid-container" style="display: <?= (GRIDLIST_VIEW == 'grid') ? 'flex' : 'none' ?>;">
<div class="search-bar">
<p>Search</p>
<input type="text" id="searchInput" onkeyup="filterGrids()" placeholder="Suche nach Grids...">
<input type="text" id="searchInput" onkeyup="filterGrids()" placeholder="Search for grids...">
</div>
<?php
if (($handle = fopen(GRIDLIST_FILE, "r")) !== false) {
@@ -132,8 +164,8 @@ if (mysqli_connect_errno()) {
echo '<div class="grid-item">';
echo "<span>$gridName</span>";
echo '<div class="hop-buttons">';
echo "<a href='$gridlink1' class='grid-link' target='_blank' style='width: 60%; text-align: center;'>Viewer Grid Eintrag</a>";
echo "<a href='$gridlink2' class='grid-link' target='_blank' style='width: 100%; text-align: center;'>Hop $gridName</a>";
echo "<a href='$gridlink1' class='grid-link' target='_blank' style='width: 60%; text-align: center;'><span style='color: rgb(251, 255, 0);'>Viewer registration</a>";
echo "<a href='$gridlink2' class='grid-link' target='_blank' style='width: 100%; text-align: center;'><span style='color: rgb(144, 238, 144);'>Hop to:</span> $gridName</a>";
echo '</div>';
echo '</div>';
}
@@ -152,18 +184,28 @@ if (mysqli_connect_errno()) {
function showJSON() {
document.getElementById('jsonList').style.display = 'flex';
document.getElementById('oswJsonList').style.display = 'none';
document.getElementById('databaseList').style.display = 'none';
document.getElementById('gridList').style.display = 'none';
}
function showOSWJSON() {
document.getElementById('jsonList').style.display = 'none';
document.getElementById('oswJsonList').style.display = 'flex';
document.getElementById('databaseList').style.display = 'none';
document.getElementById('gridList').style.display = 'none';
}
function showDatabase() {
document.getElementById('jsonList').style.display = 'none';
document.getElementById('oswJsonList').style.display = 'none';
document.getElementById('databaseList').style.display = 'flex';
document.getElementById('gridList').style.display = 'none';
}
function showGridList() {
document.getElementById('jsonList').style.display = 'none';
document.getElementById('oswJsonList').style.display = 'none';
document.getElementById('databaseList').style.display = 'none';
document.getElementById('gridList').style.display = 'flex';
}
@@ -171,6 +213,8 @@ if (mysqli_connect_errno()) {
document.addEventListener('DOMContentLoaded', () => {
<?php if (GRIDLIST_VIEW == 'json'): ?>
showJSON();
<?php elseif (GRIDLIST_VIEW == 'oswjson'): ?>
showOSWJSON();
<?php elseif (GRIDLIST_VIEW == 'database'): ?>
showDatabase();
<?php elseif (GRIDLIST_VIEW == 'grid'): ?>
+626
View File
@@ -0,0 +1,626 @@
{
"Top10": [
{
"name": "Alternate Metaverse",
"url": "hop://alternatemetaverse.com:8002/Alternate%20Metaverse/342/357/64",
"image": "osw/Alternate_Metaverse.jpg"
},
{
"name": "Infinity 11",
"url": "hop://grid.wolfterritories.org:8002/Infinity%2011/874/298/23",
"image": "osw/Infinity_11.jpg"
},
{
"name": "SciattiShopClothes",
"url": "hop://sciattisigrid.it:8002/SciattiShopClothes/115/238/23",
"image": "osw/SciattiShopClothes.jpg"
},
{
"name": "NakedWorldz Grid",
"url": "hop://enter.nakedworldzgrid.com:8002/NakedWorldz%20Grid/70/78/22",
"image": "osw/NakedWorldz_Grid.jpg"
},
{
"name": "Serrallo de Mogor",
"url": "hop://alternatemetaverse.com:8002/Serrallo%20de%20Mogor/686/680/2005",
"image": "osw/Serrallo_de_Mogor.jpg"
},
{
"name": "Trianon Complex",
"url": "hop://hg.trianon-world.com:18002/Trianon%20Complex/135/119/23",
"image": "osw/Trianon_Complex.jpg"
},
{
"name": "OpenSim Worlds Fair",
"url": "hop://grid.wolfterritories.org:8002/OpenSim",
"image": "osw/OpenSim_Worlds_Fair.jpg"
},
{
"name": "Ground_Zero",
"url": "hop://os-metavers.fresh-projects.top:8002/Ground_Zero_X2000Y2002/123/310/2142",
"image": "osw/Ground_Zero_X2000Y2002.jpg"
},
{
"name": "Events Plaza",
"url": "hop://hg.sunlight-grid.com:80/Events%20Plaza/379/393/25",
"image": "osw/Events_Plaza.jpg"
},
{
"name": "Hypergrid Games",
"url": "hop://grid.avatarlife.com:8002/Hypergrid%20Games/3/201/23",
"image": "osw/Hypergrid_Games.jpg"
}
],
"Top20": [
{
"name": "Shopping FUN",
"url": "hop://adult-life.de:8002/Shopping%20FUN/91/156/1613",
"image": "osw/Shopping_FUN.jpg"
},
{
"name": "Shinobar Annex",
"url": "hop://jogrid.net:8002/Shinobar%20Annex/146/118/23",
"image": "osw/Shinobar_Annex.jpg"
},
{
"name": "Skinny Dip Beach",
"url": "hop://alternatemetaverse.com:8002/Skinny%20Dip%20Beach/214/215/32",
"image": "osw/Skinny_Dip_Beach.jpg"
},
{
"name": "Xenotown",
"url": "hop://xenolandia.de:8002/Xenotown/541/159/22",
"image": "osw/Xenotown.jpg"
},
{
"name": "SciattiShopCenter",
"url": "hop://sciattisigrid.it:8002/SciattiShopCenter/150/92/23",
"image": "osw/SciattiShopCenter.jpg"
},
{
"name": "Little Big City Shopping Mall",
"url": "hop://littlebigcity.outworldz.net:8002/Little%20Big%20City%20Shopping%20Mall/937/435/23",
"image": "osw/Little_Big_City_Shopping_Mall.jpg"
},
{
"name": "Welcome",
"url": "hop://groovyverse.com:8002/Welcome/122/258/23",
"image": "osw/Welcome.jpg"
},
{
"name": "Maze Grid Home",
"url": "hop://maze.bz:7002/Maze%20Grid%20Home/119/111/23",
"image": "osw/Maze_Grid_Home.jpg"
},
{
"name": "China",
"url": "hop://xenolandia.de:8002/China/379/682/24",
"image": "osw/China.jpg"
},
{
"name": "Tierra De Volcanes",
"url": "hop://alternatemetaverse.com:8002/Tierra",
"image": "osw/Tierra_De_Volcanes.jpg"
}
],
"Top30": [
{
"name": "Welcome",
"url": "hop://login.digiworldz.com:8002/Welcome/200/55/10",
"image": "osw/Welcome.jpg"
},
{
"name": "we want sex club",
"url": "hop://5.189.174.147:6002/we%20want%20sex%20club/122/199/23",
"image": "osw/we_want_sex_club.jpg"
},
{
"name": "Homestead Riverville 3",
"url": "hop://alternatemetaverse.com:8002/Homestead%20Riverville%203/73/100/27",
"image": "osw/Homestead_Riverville_3.jpg"
},
{
"name": "ALBA SEX CLUB FNX",
"url": "hop://fenice.aduoni.net:8002/ALBA%20SEX%20CLUB%20FNX/661/821/23",
"image": "osw/ALBA_SEX_CLUB_FNX.jpg"
},
{
"name": "Gentle Fire Grid",
"url": "hop://gentlefire.opensim.fun:8002/Radio%20DJ%20Club/128/128/10",
"image": "osw/Gentle_Fire_Grid.jpg"
},
{
"name": "Welcome Area",
"url": "hop://gbg-world.com:8002/Welcome%20Area/136/136/23",
"image": "osw/Welcome_Area.jpg"
},
{
"name": "Rock City",
"url": "hop://login.digiworldz.com:8002/Rock%20City/192/853/24",
"image": "osw/Rock_City.jpg"
},
{
"name": "Manderley",
"url": "hop://login.digiworldz.com:8002/Manderley/322/220/41",
"image": "osw/Manderley.jpg"
},
{
"name": "New Beginnings",
"url": "hop://alternatemetaverse.com:8002/New%20Beginnings/212/330/35",
"image": "osw/New_Beginnings.jpg"
},
{
"name": "Infinity 11",
"url": "hop://grid.wolfterritories.org:8002//307/393/30",
"image": "osw/Infinity_11.jpg"
}
],
"Top40": [
{
"name": "Moonlight",
"url": "hop://moonrose-grid.de:8002/Moonlight/133/142/22",
"image": "osw/Moonlight.jpg"
},
{
"name": "The Almost Islands",
"url": "hop://shipyardsgrid.com:8002/The%20Almost%20Islands/388/367/26",
"image": "osw/The_Almost_Islands.jpg"
},
{
"name": "Breedables Market",
"url": "hop://grid.avatarlife.com:8002/Breedables%20Market/57/59/24",
"image": "osw/Breedables_Market.jpg"
},
{
"name": "The Cedars",
"url": "hop://grid.wolfterritories.org:8002/The%20Cedars/506/541/23",
"image": "osw/The_Cedars.jpg"
},
{
"name": "The Pier",
"url": "hop://gbg-world.com:8002/The%20Pier/183/178/23",
"image": "osw/The_Pier.jpg"
},
{
"name": "VALERIA AVATAR",
"url": "hop://argoillusion.it:8002/VALERIA%20AVATAR/172/220/24",
"image": "osw/VALERIA_AVATAR.jpg"
},
{
"name": "ShoppingDance",
"url": "hop://craft-world.org:8002/ShoppingDance/45/124/26",
"image": "osw/ShoppingDance.jpg"
},
{
"name": "Denny's Hartland Shopping",
"url": "hop://hartland.ddns.net:8002/Denny%27s%20Hartland%20Shopping/53/115/24",
"image": "osw/Denny's_Hartland_Shopping.jpg"
},
{
"name": "The Rendezvous",
"url": "hop://alternatemetaverse.com:8002/The%20Rendezvous/33/1249/24",
"image": "osw/The_Rendezvous.jpg"
},
{
"name": "Sandbox",
"url": "hop://alternatemetaverse.com:8002/Sandbox/611/596/26",
"image": "osw/Sandbox.jpg"
}
],
"Top50": [
{
"name": "StarchildShoppe",
"url": "hop://sanctumastra.com:8002/StarchildShoppe/171/134/25",
"image": "osw/StarchildShoppe.jpg"
},
{
"name": "HIE",
"url": "hop://grid.hgsafari.org:58002/HIE/129/121/23",
"image": "osw/HIE.jpg"
},
{
"name": "Risa",
"url": "hop://hg.zetaworlds.com:80/Risa/1196/463/26",
"image": "osw/Risa.jpg"
},
{
"name": "Ruritania",
"url": "hop://lfgrid.com:8002/Ruritania/375/318/28",
"image": "osw/Ruritania.jpg"
},
{
"name": "Little Big City Kids",
"url": "hop://70.68.178.59:8002/Little%20Big%20City%202/533/183/21",
"image": "osw/Little_Big_City_Kids.jpg"
},
{
"name": "Rio De Janeiro",
"url": "hop://firstlifebrasil3d.ddns.net:8002/Rio%20De%20Janeiro/141/137/102",
"image": "osw/Rio_De_Janeiro.jpg"
},
{
"name": "Jungle Welcome",
"url": "hop://junglefriends.opensim.fun:8002/Jungle%20Welcome/150/121/30",
"image": "osw/Jungle_Welcome.jpg"
},
{
"name": "Stark",
"url": "hop://hg.zetaworlds.com:80/Stark/139/117/37",
"image": "osw/Stark.jpg"
},
{
"name": "Katies Kove",
"url": "hop://hg.neverworldgrid.com:8002/Katies%20Kove/163/163/31",
"image": "osw/Katies_Kove.jpg"
},
{
"name": "Tosca",
"url": "hop://soul-grid.de:8002/Tosca/74/220/23",
"image": "osw/Tosca.jpg"
}
],
"Top60": [
{
"name": "Gaia",
"url": "hop://hg.sunlight-grid.com:80/Gaia/109/151/22",
"image": "osw/Gaia.jpg"
},
{
"name": "Serendipity Isle",
"url": "hop://login.digiworldz.com:8002/Serendipity%20Isle/131/243/22",
"image": "osw/Serendipity_Isle.jpg"
},
{
"name": "HeartMusic",
"url": "hop://hop:80/HeartMusic/194/107/24",
"image": "osw/HeartMusic.jpg"
},
{
"name": "Dream Life Welcome",
"url": "hop://dreamlife.opensim.fun:58002/Dream%20Life%20Welcome/130/113/23",
"image": "osw/Dream_Life_Welcome.jpg"
},
{
"name": "Dreamland Seas",
"url": "hop://ladysdreamworld.opensim.fun:8002/Dreamland%20Seas/1433/1414/28",
"image": "osw/Dreamland_Seas.jpg"
},
{
"name": "Samsara",
"url": "hop://alternatemetaverse.com:8002/Samsara/295/182/28",
"image": "osw/Samsara.jpg"
},
{
"name": "NW Welcome",
"url": "hop://hg.neverworldgrid.com:8002/NW%20Welcome/134/111/28",
"image": "osw/NW_Welcome.jpg"
},
{
"name": "New Hope",
"url": "hop://login.newhopegrid.com:8002/New%20Hope/495/198/1023",
"image": "osw/New_Hope.jpg"
},
{
"name": "Fabrica dos Sonhos",
"url": "hop://vidadupla.com.br:8002/Fabrica%20dos%20Sonhos/109/118/25",
"image": "osw/Fabrica_dos_Sonhos.jpg"
},
{
"name": "Homestead Riverville",
"url": "hop://alternatemetaverse.com:8002/Homestead%20Riverville/74/101/28",
"image": "osw/Homestead_Riverville.jpg"
}
],
"Top70": [
{
"name": "NewLifeWelcome",
"url": "hop://newlifeitaly.com:8002/NewLifeWelcome/297/356/27",
"image": "osw/NewLifeWelcome.jpg"
},
{
"name": "Ogunquit",
"url": "hop://groovyverse.com:8002/Ogunquit/164/501/24",
"image": "osw/Ogunquit.jpg"
},
{
"name": "Bem Vindo",
"url": "hop://login3.virtualrbm.com.br:8002/Bem%20Vindo/126/199/25",
"image": "osw/Bem_Vindo.jpg"
},
{
"name": "Moonlight Shadows",
"url": "hop://alternatemetaverse.com:8002/Moonlight%20Shadows/196/30/2392",
"image": "osw/Moonlight_Shadows.jpg"
},
{
"name": "Mexico Lindo",
"url": "hop://lfgrid.com:8002/hop%3A%2F%2Flfgrid.com%3A8002%2Fmexico%2520lindo%2520shopping%2F129%2F128%2F28/197/176/2500",
"image": "osw/Mexico_Lindo.jpg"
},
{
"name": "Lockets Dream",
"url": "hop://shasiyadynasty.outworldz.net:8002/Lockets%20Dream/56/48/22",
"image": "osw/Lockets_Dream.jpg"
},
{
"name": "Nude Beach Playground",
"url": "hop://shasiyadynasty.outworldz.net:8002/Nude%20Beach%20Playground/872/1242/29",
"image": "osw/Nude_Beach_Playground.jpg"
},
{
"name": "Kitely Welcome Center",
"url": "hop://grid.kitely.com:8002/Kitely%20Welcome%20Center/85/164/21",
"image": "osw/Kitely_Welcome_Center.jpg"
},
{
"name": "Landing",
"url": "hop://dorenas-world.de:8002/Landing/149/128/23",
"image": "osw/Landing.jpg"
},
{
"name": "Elysion",
"url": "hop://grid.vr-esc.com:8002/Elysion/917/434/24",
"image": "osw/Elysion.jpg"
}
],
"Top80": [
{
"name": "Littlefield Welcome",
"url": "hop://lfgrid.com:8002/Littlefield%20Welcome/118/141/23",
"image": "osw/Littlefield_Welcome.jpg"
},
{
"name": "CARLITA FNX",
"url": "hop://fenice.aduoni.net:8002/CARLITA%20FNX/555/729/67",
"image": "osw/CARLITA_FNX.jpg"
},
{
"name": "Mare Welcome",
"url": "hop://mare-grid.de:8002/Mare%20Welcome/121/122/23",
"image": "osw/Mare_Welcome.jpg"
},
{
"name": "Pont Aeri",
"url": "hop://www.crytogame.me:8002/Pont%20Aeri/57/40/22",
"image": "osw/Pont_Aeri.jpg"
},
{
"name": "Kingman City",
"url": "hop://grid.arkhamgrid.org:8002/Kingman%20City/123/207/23",
"image": "osw/Kingman_City.jpg"
},
{
"name": "Nautilus Inclusive Keys",
"url": "hop://grid.wolfterritories.org:8002/Nautilus%20Inclusive%20Keys/333/254/23",
"image": "osw/Nautilus_Inclusive_Keys.jpg"
},
{
"name": "The ValLands",
"url": "hop://hg.osgrid.org:80/ValLands/1180/815/52",
"image": "osw/The_ValLands.jpg"
},
{
"name": "Freebie Store 2024",
"url": "hop://login.aviworlds.com:8002/Freebie%20Store%202024/137/48/36",
"image": "osw/Freebie_Store_2024.jpg"
},
{
"name": "CCC Boutique",
"url": "hop://enter.nakedworldzgrid.com:8002/CCC%20Boutique/178/186/22",
"image": "osw/CCC_Boutique.jpg"
},
{
"name": "Secret Fantasy World Portal",
"url": "hop://213.200.254.17:14002/Secret%20Fantasy%20World%20Portal/128/137/22",
"image": "osw/Secret_Fantasy_World_Portal.jpg"
}
],
"Top90": [
{
"name": "Carima",
"url": "hop://carima-welt.de:8002/Carima/16/52/33",
"image": "osw/Carima.jpg"
},
{
"name": "Bare Island",
"url": "hop://alternatemetaverse.com:8002/Bare%20Island/276/285/24",
"image": "osw/Bare_Island.jpg"
},
{
"name": "Nefertari Beach Resort",
"url": "hop://login.digiworldz.com:8002/Nefertari%20Beach%20Resort/239/376/23",
"image": "osw/Nefertari_Beach_Resort.jpg"
},
{
"name": "Magical Fairies Pass",
"url": "hop://grid.wolfterritories.org:8002/Magical%20Fairies%20Pass/97/61/24",
"image": "osw/Magical_Fairies_Pass.jpg"
},
{
"name": "L&M Shop",
"url": "hop://login3.virtualrbm.com.br:8002/L%26M%20Shop/130/140/5003",
"image": "osw/L&M_Shop.jpg"
},
{
"name": "Meeting Point",
"url": "hop://fenice.aduoni.net:8002/Meeting%20Point/128/189/63",
"image": "osw/Meeting_Point.jpg"
},
{
"name": "Unreal World Portal",
"url": "hop://yeali.outworldz.net:8002/Free",
"image": "osw/Unreal_World_Portal.jpg"
},
{
"name": "NyAlfheim",
"url": "hop://grid.wolfterritories.org:8002/NyAlfheim/393/422/30",
"image": "osw/NyAlfheim.jpg"
},
{
"name": "Graywolf landing",
"url": "hop://alternatemetaverse.com:8002/Graywolf%20landing/813/959/23",
"image": "osw/Graywolf_landing.jpg"
},
{
"name": "Edge Harbor",
"url": "hop://grid.wolfterritories.org:8002/Edge%20Harbor/426/438/24",
"image": "osw/Edge_Harbor.jpg"
}
],
"Top100": [
{
"name": "Forgotten Worlds Portal",
"url": "hop://213.200.254.17:18002/Forgotten%20Worlds%20Portal/126/123/22",
"image": "osw/Forgotten_Worlds_Portal.jpg"
},
{
"name": "Free Life Great Gatsby",
"url": "hop://freelife.outworldz.net:8002/Free%20Life%20Great%20Gatsby/126/126/23",
"image": "osw/Free_Life_Great_Gatsby.jpg"
},
{
"name": "Digital City",
"url": "hop://virtual-islands.de:8002/Digital%20City/131/134/23",
"image": "osw/Digital_City.jpg"
},
{
"name": "3DLES Education",
"url": "hop://edugrid.3dles.com:8002/3DLES%20Education/121/149/23",
"image": "osw/3DLES_Education.jpg"
},
{
"name": "The Mall",
"url": "hop://gbg-world.com:8002/The%20Mall/199/182/24",
"image": "osw/The_Mall.jpg"
},
{
"name": "Bountiful City",
"url": "hop://hg.neverworldgrid.com:8002/Bountiful%20City/129/136/51",
"image": "osw/Bountiful_City.jpg"
},
{
"name": "VULCANO_STIRPE",
"url": "hop://bloodmoonpack.com:8002/VULCANO_STIRPE/306/302/69",
"image": "osw/VULCANO_STIRPE.jpg"
},
{
"name": "Lush Isle",
"url": "hop://login.exoticrealities.com:8002/Lush",
"image": "osw/Lush_Isle.jpg"
},
{
"name": "Soundbox",
"url": "hop://hg.soundboxmunich.com:8002/Soundbox/146/109/25",
"image": "osw/Soundbox.jpg"
},
{
"name": "Moonrose Club",
"url": "hop://moonrose-grid.de:8002/Moonrose%20Club/98/140/24",
"image": "osw/Moonrose_Club.jpg"
}
],
"Top110": [
{
"name": "Store",
"url": "hop://gbg-world.com:8002/Store/77/98/24",
"image": "osw/Store.jpg"
},
{
"name": "HQ Herederos",
"url": "hop://herederos.inworldz.net:8002/HQ%20Herederos/121/169/24",
"image": "osw/HQ_Herederos.jpg"
},
{
"name": "Fashion Island",
"url": "hop://login.digiworldz.com:8002/Fashion%20Island/142/137/23",
"image": "osw/Fashion_Island.jpg"
},
{
"name": "Cosplay Universe",
"url": "hop://login.digiworldz.com:8002/Cosplay%20Universe/256/242/23",
"image": "osw/Cosplay_Universe.jpg"
},
{
"name": "Homestead Riverville 2",
"url": "hop://alternatemetaverse.com:8002/Homestead%20Riverville%202/74/103/28",
"image": "osw/Homestead_Riverville_2.jpg"
},
{
"name": "Riderwood",
"url": "hop://gentlefire.opensim.fun:8002/Riderwood/143/177/32",
"image": "osw/Riderwood.jpg"
},
{
"name": "ILLUSION",
"url": "hop://argoillusion.it:8002/ILLUSION/126/110/23",
"image": "osw/ILLUSION.jpg"
},
{
"name": "Liverpool City",
"url": "hop://grid.wolfterritories.org:8002/Liverpool%20City/163/132/24",
"image": "osw/Liverpool_City.jpg"
},
{
"name": "AVW Welcome",
"url": "hop://avirtualworld.org:8002/AVW%20Welcome/118/138/23",
"image": "osw/AVW_Welcome.jpg"
},
{
"name": "Parx Paradise",
"url": "hop://alternatemetaverse.com:8002/Parx%20Paradise/101/246/24",
"image": "osw/Parx_Paradise.jpg"
},
{
"name": "ModaPlaza",
"url": "hop://alternatemetaverse.com:8002/ModaPlaza/123/132/23",
"image": "osw/ModaPlaza.jpg"
}
],
"Top120": [
{
"name": "Island of Dreams",
"url": "hop://grid.virtualife-grid.it:4577/VIRTUALIFE/168/186/26",
"image": "osw/Island_of_Dreams.jpg"
},
{
"name": "AviWorlds Welcome",
"url": "hop://login.aviworlds.com:8002/AviWorlds%20Welcome/126/123/26",
"image": "osw/AviWorlds_Welcome.jpg"
},
{
"name": "GypsyCamp",
"url": "hop://pangeagrid.de:8002/GypsyCamp/319/385/23",
"image": "osw/GypsyCamp.jpg"
},
{
"name": "Chubelz_Welcome",
"url": "hop://chubelz.de:8002/Chubelz_Welcome/88/138/29",
"image": "osw/Chubelz_Welcome.jpg"
},
{
"name": "Barefoot Dreamers Mall",
"url": "hop://login.barefoot-dreamers.com:8002/Barefoot%20Dreamers%20Mall/259/618/23",
"image": "osw/Barefoot_Dreamers_Mall.jpg"
},
{
"name": "FINDS Blank",
"url": "hop://hg.neverworldgrid.com:8002/FINDS%20Blank/56/76/83",
"image": "osw/FINDS_Blank.jpg"
},
{
"name": "Vesti",
"url": "hop://hg.trianon-world.com:18002/Vesti/140/111/23",
"image": "osw/Vesti.jpg"
},
{
"name": "Laredo",
"url": "hop://zodiack.net:8002/Laredo/123/157/24",
"image": "osw/Laredo.jpg"
},
{
"name": "Westeros Medieval RP",
"url": "hop://grid.wolfterritories.org:8002/Westeros%20Medieval%20RP/131/136/23",
"image": "osw/Westeros_Medieval_RP.jpg"
}
]
}