Hallo, Gast
Sie müssen sich registrieren bevor Sie auf unserer Seite Beiträge schreiben können.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 176
» Neuestes Mitglied: bimbam2103
» Foren-Themen: 848
» Foren-Beiträge: 4.730

Komplettstatistiken

Benutzer Online
Momentan sind 57 Benutzer online
» 0 Mitglieder
» 57 Gäste

Aktive Themen
Red-River-Saloon-Events
Forum: Events
Letzter Beitrag: Sylvia Koeln
Gestern, 14:26
» Antworten: 2
» Ansichten: 233
Vorsicht beim Einsatz von...
Forum: Tools
Letzter Beitrag: TommyJonas
Gestern, 09:32
» Antworten: 2
» Ansichten: 126
Tommy Jonas
Forum: User Vorstellungen
Letzter Beitrag: TommyJonas
Gestern, 09:23
» Antworten: 10
» Ansichten: 8.033
Blue Wave Club
Forum: Events
Letzter Beitrag: Dina
18.02.2019, 22:54
» Antworten: 115
» Ansichten: 63.505
Immer wieder Mittwochs
Forum: Offworld
Letzter Beitrag: Tomi40
18.02.2019, 14:02
» Antworten: 0
» Ansichten: 82
Dienstag - TPW Spieleaben...
Forum: The Public World
Letzter Beitrag: Marina Baer
17.02.2019, 21:37
» Antworten: 6
» Ansichten: 555
Immer wieder Sonntags
Forum: Offworld
Letzter Beitrag: Cayoun Daydreamer
17.02.2019, 14:21
» Antworten: 1
» Ansichten: 152
Sonntags-Brunch-Party
Forum: Events
Letzter Beitrag: Marina Baer
17.02.2019, 13:39
» Antworten: 23
» Ansichten: 1.632
[VirtuLife] 100 Avatar-Fe...
Forum: Events
Letzter Beitrag: bimbam2103
17.02.2019, 09:31
» Antworten: 0
» Ansichten: 74
Samstags-Partie*s in Next...
Forum: Events
Letzter Beitrag: Dina
17.02.2019, 00:44
» Antworten: 317
» Ansichten: 192.721

 
  Samstag Partytime im Pinacolada
Geschrieben von: Marina Baer - 11.07.2016, 20:05 - Forum: Events - Antworten (2)

Samstag , 16.07.2016, ist Partytime im Pinacolada ab 20:00 Uhr. DJ Tommi will uns mit Musik aus dem Bereich best of deutsch pop und rock verwöhnen. Wir treffen uns im Partyclub Pinacolada auf Blackland. Wir freuen uns auf Euch.
[Bild: pinacolada1607.jpg]
Hypergrid: thepublicworld.de:8002:BlackLand

Drucke diesen Beitrag

  GLOEBIT
Geschrieben von: Hillie Dyrssen - 11.07.2016, 14:59 - Forum: Bezahlsysteme - Antworten (9)

Hallo zusammen,

vielleicht weiß einer wie das zu machen ist?! Ich habe mich zur Beta Gloebit angemeldet und bescheid bekommen..was zu mache ist. Das ist alles gut und schön.....bloß wenn ich es dann umgesetzt habe sprich opensim.ini dann läuft die Konsole nicht richtig hoch Blush

Habe es zwar an die Herren von Gloebit weitergeleitet, aber vielleicht weiß ja jemand von euch was es sein könnte, dankööö


Grüße
Hillie

Drucke diesen Beitrag

  Terrain Vorschau
Geschrieben von: Manni - 11.07.2016, 01:26 - Forum: Regionen - Antworten (1)

Eine einfache und schnelle Terrain Vorschau
   

Dies ist eine Terrain Vorschau und ist mit der Babylonjs erstellt worden.
Es ist ein einfaches HTML Script kann also auf fast allem angezeigt werden.
Dies speichert ihr als Text auf euren Rechner oder sonst wo ein WebGL fähiger Browser läuft.
Ihr könnt das auch gut zum texturieren gebrauchen.
Ihr dürft auch ungefragt am Source herumdoktern und weiter geben.
Das Terrain kann selbstverständlich im Browser mit der Maus gedreht werden.


Script index.html

Code:
<!DOCTYPE html>
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

   <title>Babylon.js sample code</title>
   <!-- Babylon.js -->
   <script src="http://www.babylonjs.com/hand.minified-1.2.js"></script>
   <script src="http://www.babylonjs.com/babylon.js"></script>
   <style>
       html, body {
           overflow: hidden;
           width: 100%;
           height: 100%;
           margin: 0;
           padding: 0;
       }

       #renderCanvas {
           width: 100%;
           height: 100%;
           touch-action: none;
       }
   </style>
</head>
<body>
   <canvas id="renderCanvas"></canvas>
   <script>
       if (BABYLON.Engine.isSupported()) {
           var canvas = document.getElementById("renderCanvas");
           var engine = new BABYLON.Engine(canvas, true);

           var createScene = function() {
               var scene = new BABYLON.Scene(engine);
               var meshes = [];
               var camera = new BABYLON.ArcRotateCamera("Camera", 0, Math.PI / 2, 12, BABYLON.Vector3.Zero(), scene);

               camera.attachControl(canvas, false);
               camera.lowerRadiusLimit = 1;
               camera.minZ = 1.0;

               function selectMesh(index) {
                   switch (index) {
                       case 0:
                           // Creating sphere
                           meshes.push(BABYLON.Mesh.CreateSphere("mesh", 16, 5, scene));
                           break;
                       case 1:
                           // Creating Torus
                           meshes.push(BABYLON.Mesh.CreateTorus("mesh", 5, 1, 32, scene));
                           break;
                       case 2:
                           // Creating Torus knot
                           meshes.push(BABYLON.Mesh.CreateTorusKnot("mesh", 2, 0.5, 128, 64, 2, 3, scene));
                           break;
                       case 3:
                           meshes.push(BABYLON.Mesh.CreateGroundFromHeightMap("mesh", "HeightMap.png", 8, 8, 100, 0, 3, scene, false));
                           break;
                   }
               };

               BABYLON.Effect.ShadersStore["customVertexShader"]=                "precision highp float;\r\n"+

               "// Attributes\r\n"+
               "attribute vec3 position;\r\n"+
               "attribute vec3 normal;\r\n"+
               "attribute vec2 uv;\r\n"+

               "// Uniforms\r\n"+
               "uniform mat4 world;\r\n"+
               "uniform mat4 worldViewProjection;\r\n"+

               "// Varying\r\n"+
               "varying vec3 vPositionW;\r\n"+
               "varying vec3 vNormalW;\r\n"+
               "varying vec2 vUV;\r\n"+

               "void main(void) {\r\n"+
               "    vec4 outPosition = worldViewProjection * vec4(position, 1.0);\r\n"+
               "    gl_Position = outPosition;\r\n"+
               "    \r\n"+
               "    vPositionW = vec3(world * vec4(position, 1.0));\r\n"+
               "    vNormalW = normalize(vec3(world * vec4(normal, 0.0)));\r\n"+
               "    \r\n"+
               "    vUV = uv;\r\n"+
               "}\r\n";

               BABYLON.Effect.ShadersStore["customFragmentShader"]=                "precision highp float;\r\n"+

               "// Lights\r\n"+
               "varying vec3 vPositionW;\r\n"+
               "varying vec3 vNormalW;\r\n"+
               "varying vec2 vUV;\r\n"+

               "// Refs\r\n"+
               "uniform sampler2D textureSampler;\r\n"+

               "void main(void) {\r\n"+
               "    float ToonThresholds[4];\r\n"+
               "    ToonThresholds[0] = 0.95;\r\n"+
               "    ToonThresholds[1] = 0.5;\r\n"+
               "    ToonThresholds[2] = 0.2;\r\n"+
               "    ToonThresholds[3] = 0.03;\r\n"+
               "    \r\n"+
               "    float ToonBrightnessLevels[5];\r\n"+
               "    ToonBrightnessLevels[0] = 1.0;\r\n"+
               "    ToonBrightnessLevels[1] = 0.8;\r\n"+
               "    ToonBrightnessLevels[2] = 0.6;\r\n"+
               "    ToonBrightnessLevels[3] = 0.35;\r\n"+
               "    ToonBrightnessLevels[4] = 0.2;\r\n"+
               "    \r\n"+
               "    vec3 vLightPosition = vec3(0,20,10);\r\n"+
               "    \r\n"+
               "    // Light\r\n"+
               "    vec3 lightVectorW = normalize(vLightPosition - vPositionW);\r\n"+
               "    \r\n"+
               "    // diffuse\r\n"+
               "    float ndl = max(0., dot(vNormalW, lightVectorW));\r\n"+
               "    \r\n"+
               "    vec3 color = texture2D(textureSampler, vUV).rgb;\r\n"+
               "    \r\n"+
               "    if (ndl > ToonThresholds[0])\r\n"+
               "    {\r\n"+
               "        color *= ToonBrightnessLevels[0];\r\n"+
               "    }\r\n"+
               "    else if (ndl > ToonThresholds[1])\r\n"+
               "    {\r\n"+
               "        color *= ToonBrightnessLevels[1];\r\n"+
               "    }\r\n"+
               "    else if (ndl > ToonThresholds[2])\r\n"+
               "    {\r\n"+
               "        color *= ToonBrightnessLevels[2];\r\n"+
               "    }\r\n"+
               "    else if (ndl > ToonThresholds[3])\r\n"+
               "    {\r\n"+
               "        color *= ToonBrightnessLevels[3];\r\n"+
               "    }\r\n"+
               "    else\r\n"+
               "    {\r\n"+
               "        color *= ToonBrightnessLevels[4];\r\n"+
               "    }\r\n"+
               "    \r\n"+
               "    gl_FragColor = vec4(color, 1.);\r\n"+
               "}\r\n";

               selectMesh(3);

               // Compile
               var shaderMaterial = new BABYLON.ShaderMaterial("shader", scene, {
                   vertex: "custom",
                   fragment: "custom",
               },
                   {
                       attributes: ["position", "normal", "uv"],
                       uniforms: ["world", "worldView", "worldViewProjection", "view", "projection"]
                   });

               var refTexture = new BABYLON.Texture("ref.jpg", scene);
               refTexture.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE;
               refTexture.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE;

               var mainTexture = new BABYLON.Texture("textur.jpg", scene);

               shaderMaterial.setTexture("textureSampler", mainTexture);
               shaderMaterial.setTexture("refSampler", refTexture);
               shaderMaterial.setFloat("time", 0);
               shaderMaterial.setVector3("cameraPosition", BABYLON.Vector3.Zero());
               shaderMaterial.backFaceCulling = false;

               for (var index = 0; index < meshes.length; index++) {
                   var mesh = meshes[index];
                   mesh.material = shaderMaterial;
               }

               return scene;
           }

           var scene = createScene();
           var time = 0;
           engine.runRenderLoop(function () {
               var shaderMaterial = scene.getMaterialByName("shader");
               shaderMaterial.setFloat("time", time);
               time += 0.02;

               shaderMaterial.setVector3("cameraPosition", scene.activeCamera.position);

               scene.render();
           });

           window.addEventListener("resize", function () {
               engine.resize();
           });
       }
   </script>
</body>
</html>

Eure Mesh Hightmap (Das ist ein ganz normales Terrain im PNG Format) muss heightMap.png heissen Beispiel:

Bild Beispiel: heightMap.png
   

Die Terrain Textur muss textur.jpg heissen.
Ich habe absichtlich das Wasser weg gelassen, so ist die Textur Multifunktional.

Bild  Beispiel: textur.jpg
   

So eine HightMap läst sich nicht nur in OpenSim/SecondLife hochladen,
sondern es kann mit dem SketchUp Plugin Bitmap to Mesh,
in ein Mesh Terrain umgewandelt werden.

Wenn ihr alle 3 Sachen auf eurem Gerät oder Computer habt,
könnt ihr die index.html Datei mit eurem Browser öffnen.

Maustaste und bewegen: dreht die Region.
Mausrad: Zoomt.

Drucke diesen Beitrag

  Ubuntu 18.04 Server Installation für OpenSim
Geschrieben von: Manni - 09.07.2016, 21:30 - Forum: Simulatoren - Keine Antworten

Ubuntu 18.04 Server Installation für OpenSim und Web3D Anwendungen/Welten.


    Download:http://releases.ubuntu.com/18.04/
    Ich nutze unter Windows den Bitvise SSH Client dieser basiert auf Putty: https://www.bitvise.com/ssh-client-download
    Bitvise bietet alles was man zur steuerung eines Servers benötigt.


    Ubuntu 18 hat Eigenheiten, die nicht mit vorigen Versionen kompatibel sind.
    Deswegen mache ich mal eine neue Kurzanleitung zum installieren eines Test Servers mit root.
    Solltet ihr ein Produktives Ubuntu wünschen lasst einfach alles mit root aktivieren weg.

    Als Benutzer root bitte sudo weg lassen.

    Passwort ändern falls gewünscht.

Code:
passwd

    Root aktivieren dies muss man nicht machen.
Code:
sudo passwd
    Jetzt Passwort eingeben 3 mal.
Code:
sudo sed -i 's/prohibit-password/yes/' /etc/ssh/sshd_config


    Wenn das nicht geht Manuell bearbeiten.
    Die Datei /etc/ssh/sshd_config bearbeiten.
Code:
sudo nano /etc/ssh/sshd_config
    sucht nach der Zeile "PermitRootLogin prohibit-password"(STRG + W ist Suchen).
    ändern in:
Code:
PermitRootLogin yes
    Speichert die Datei und startet den ssh Dienst neu:
    Speichern STRG + O dann Enter drücken.
    Editor beenden STRG + X dann Enter drücken.

    Genauso kann man den root zugang auch wieder aufheben,
    denn es ist nicht ratsam ein Produktives System so laufen zu lassen.

    SSH neu starten.
Code:
sudo service ssh restart

    Root aktivieren Ende

    Wenn das nicht geht, oder ihr möchtet nicht ständig root sein, kann man den Benutzer wechseln mit su.
    Mit sudo passwd setzt ihr ein root Passwort und mit su wechselt ihr für diese Sitzung den Benutzer auf root.
Code:
sudo passwd
su
    jetzt erscheint eine Passwortabfrage

Hier geht es Richtig los

    Updaten
Code:
sudo apt-get update

    Apache2 und Erweiterung.
Code:
sudo apt-get install apache2 libapache2-mod-php

    PHP, MySQL und Erweiterungen
Code:
sudo apt-get install php mysql-server php-mysql php-common php-gd php-mcrypt php-pear php-mail php-xmlrpc php-curl

    PHPMyAdmin Benutzeroberfläche für MySQL (Zugang im Browser mit http://IP/phpmyadmin/)
Code:
sudo apt-get install phpmyadmin

    Mono Installieren um OpenSim ausführen zu können.
Code:
sudo apt-get install mono-complete

    Hilfsprogramme zum entpacken, Hintergrunddienst, Git und NAnt
Code:
sudo apt-get install zip screen git nant

    Nachfolgendes ist für Web3D etc.
Code:
sudo apt-get install nodejs npm

    Die einfachste Art und Weise die Threads zu erhöhen ist ein Eintrag in die Datei /etc/environment.
    Der Wert sollte zwischen 300 (Metro Empfehlung)und 2000 (Mono Empfehlung)gewählt werden.
    Diese Datei sollte den folgenden Eintrag angehängt bekommen:
Code:
MONO_THREADS_PER_CPU=500

    Als letzte Maßnahmen noch Updaten und Upgraden.
Code:
sudo apt-get update
sudo apt-get upgrade

Drucke diesen Beitrag

  Fundsache Server selber Bauen
Geschrieben von: Manni - 09.07.2016, 05:34 - Forum: Programmierung - Keine Antworten

jMonkeyEngine Multiplayer & Netzwerk Tutorial Deutsch





















Ach ja Infos für die Game Engine gibt es hier LINK

Das ist das richtige für Leute die gerne etwas ausprobieren.



Drucke diesen Beitrag

  JanusVR Allgemein
Geschrieben von: Manni - 30.06.2016, 19:00 - Forum: Simulatoren - Keine Antworten

Allgemein
Feature - Beschreibung
Default Listening Port - 5566
Protocol - Ordinairy socket, UTF-8 encoded
Encoding - UTF-8
Message Format - JSON objects formatted onto a single line
Message Structure -
Every packet must contain a "Methode" field
Every packet can also optionally contain a "data" field

Beispiel
Sie können testen, ob der Server über Telnet oben ist.
telnet babylon.vrsites.com 5566
Kopieren und die Beispiele unten ein, um zu sehen, wie es funktioniert

1. Client -> Server Methodes:


1.1 "logon" Methode
Sie müssen dies vor allem anderen tun.

Definiert in config.js - authMode
Hat drei mögliche Optionen (defaults to 'optional'):
   'none'     - wird nicht versuchen, um Benutzer zu authentifizieren,

                jeder kann sich mit beliebigen freien userId verbinden.

   'optional' - Jeder kann eine Verbindung, aber wenn userId registriert wurde

                ein Passwort muss zur Verfügung gestellt werden.

   'required' - Nur Benutzer mit userId und Passwörter sind erlaubt.

Client -> Server Message Example:

Dies ist ein Beispiel für eine Nachricht mit sich anzumelden, wenn die Benutzer-ID "LL" nicht registriert wurde:
{"Methode":"logon","data":{"userId":"LL", "version":"23.4","roomId":"345678354764987457"}}
Client -> Server Message Example
{"Methode":"logon","data":{"userId":"LL", "version":"23.4","roomId":"345678354764987457"}}

Real example from JanusVR 40.3
{"Methode":"logon","data":{"userId":"ProudMinna333","version":"40.3","roomId":"e562b2e1339fc08d635d28481121857c"}}
Dies ist ein Beispiel für eine Nachricht mit sich anzumelden, wenn die Benutzer-ID "LL" registriert wurde, und erfordert daher ein Passwort (empfohlen, diese nicht verwendet wird, bis die Sicherheit in Release verschärft):

{"Methode":"logon","data":{"userId":"LL", "version":"23.4","roomId":"345678354764987457","password":"MyPassword"}}

version = Die client version


roomId = MD5 hash of the room's URL

password = Passwort mit userId assoziiert

Server -> Client Response Example:

Wenn alles in Ordnung ist und Sie angemeldet dann erhalten Sie:
{"Methode":"okay"}

Wenn kein roomId in der Anmeldeanforderung gefunden wurde:
{"Methode":"error", "data":{"message":"Missing roomId in data packet"}}

Wenn kein userId in der Anmeldeanforderung gefunden wurde:
{"Methode":"okay"} if everything was okay or a {"Methode":"error", "data":{"message": "Some error string"}}

{"Methode":"error", "data":{"message": "Missing userId in data packet"}}

Wenn die Benutzer-ID bereits im Einsatz ist:
{"Methode":"error", "data":{"message": "User name is already in use"}}

TODO: Reject incompatable clients

1.2 "enter_room" Methode

Wenn Sie ein Portal durch:
{"Methode":"enter_room", "data": { "roomId": "345678354764987457" }}
Reales Beispiel aus JanusVR 40,3:
{"Methode":"enter_room", "data": {"roomId":"e562b2e1339fc08d635d28481121857c"}}

1.3 "move" Methodee

Wenn der Benutzer Position bewegt hat:
{"Methode":"move", "data": [0,0,0,0,0,0,0] }
Die Daten können alles sein, die Sie mögen, wird es ohne Validierung Beobachter übergeben werden

Reales Beispiel aus JanusVR 40,3:

JanusVR legt zusätzliche Informationen in ersten Schritt Anruf und jeder so oft nach dem ersten Aufruf. Dies ist ein Beispiel für einen Umzug Anruf mit zusätzlichen Informationen:
{"Methode":"move", "data":{"pos":"8.38889 -0.267704 -5.83333","dir":"-1 -1.33e-06 9.42e-07","view_dir":"-1 -1.33e-06 9.42e-07","up_dir":"-1.33e-06 1 1.25e-12","head_pos":"0 0 0","avatar":"<FireBoxRoom><Assets><AssetObject id=^head^ src=^http://avatars.vrsites.com/chibii/head_male.obj^ mtl=^http://avatars.vrsites.com/chibii/mtls/head_male3.mtl^ /><AssetObject id=^body^ src=^http://avatars.vrsites.com/chibii/body_male.obj^ mtl=^http://avatars.vrsites.com/chibii/mtls/body_male3.mtl^ /></Assets><Room><Ghost id=^ProudMinna333^ js_id=^3^ scale=^1.700000 1.700000 1.700000^ head_id=^head^ head_pos=^0.000000 0.750000 0.000000^ body_id=^body^ /></Room></FireBoxRoom>"}}
Die meisten JanusVR Anrufe bieten nur eine begrenzte Datenmenge:
{"Methode":"move", "data":{"pos":"8.38889 -0.267704 -5.83333","dir":"-1 -1.33e-06 9.42e-07","view_dir":"-1 -1.33e-06 9.42e-07","up_dir":"-1.33e-06 1 1.25e-12","head_pos":"0 0 0"}}

1.4 "chat" Methodee

Wenn der Benutzer eine Textnachricht sendet:
{"Methode":"chat", "data": "The message"}
Sie können alles über das Datenfeld übergeben, und es wird für alle auf den aktuellen Raum abonniert Kunden gesendet werden.

Reales Beispiel aus JanusVR 40,3:
{"Methode":"chat", "data": "hello!"}

1.5 "subscribe"  Methodee

Wenn Sie möchten Ereignisse über einen Raum zu beginnen Empfangen (Sie sind in diesem Raum oder auf der Suche durch ein Portal)
{"Methode":"subscribe", "data": { "roomId": "345678354764987457" }}
Reales Beispiel aus JanusVR 40,3:
The first "subscribe" call provides extra information:
{"Methode":"subscribe", "data":{"userId":"ProudMinna333","version":"40.3","roomId":"e562b2e1339fc08d635d28481121857c"}}
Nachfolgende "subscribe" Anrufe bieten weniger Informationen:
{"Methode":"subscribe", "data":{"roomId":"69de79e1077103cb59d1a890e96c7ef2"}}
Erhalten folgende Leistungen, wenn alles in Ordnung ist.
{"Methode":"okay"}

1.6 "unsubscribe" Methode

Wenn Sie nicht mehr wünschen, Nachrichten von diesem Raum zu erhalten, weil keines seiner Portale sichtbar sind
{"Methode":"unsubscribe", "data": { "roomId": "345678354764987457" }}
Reales Beispiel aus JanusVR 40,3:
TODO: Grab real example
Erhalten folgende Leistungen, wenn alles in Ordnung ist.
{"Methode":"okay"}

1.7 "portal" Methode

Wenn ein Benutzer ein neues Portal erstellt:
{"Methode":"portal", "data":{"url":"http://...", "pos":[1,2,4], "fwd":[0,1,0]}}
Reales Beispiel aus JanusVR 40,3:
{"Methode":"portal", "data":{"url":"http://www.vrsites.com","pos":"-7.16883 -0.267702 -6.57243","fwd":"0.967686 0 -0.234104"}}
Erhalten folgende Leistungen, wenn alles in Ordnung ist.
Will receive: {"Methode":"okay"}

1.8 "users_online" Methode

Liste holen der verbundenen Benutzer.
Definiert in config.js: config.maxUserResults = 100.
{“Methode”: “users_online”}
Liste aller Benutzer online bis config.maxUserResults.
{“Methode”: “users_online”, “data”: {“maxResults”: 50}}
Liste aller Benutzer online bis zu "maxResults 'oder config.maxUserResults, je nachdem, was kleiner ist.
{“Methode”: “users_online”, “data”: {“roomId”: “xyz”}}
Liste aller Benutzer in ‘roomId’ up to config.maxUserResults.
{“Methode”: “users_online”, “data”: {“maxResults”: 50, “roomId”: “xyz”}}
Liste aller Benutzer in 'roomId "bis zu" maxResults' oder config.maxUserResults, je nachdem, was kleiner ist.
Antwort:
{“Methode”: “users_online”, “data”: {“results”: 50, “roomId”: “xyz”, “users”: {“Arthur Dent”, “Data”, “Lore”}}


2. Server -> Client Hinweise:

2.1 "user_moved" Benachrichtigung

Wenn ein Benutzer in jedem Raum bewegt, dass Sie auch abonniert haben, erfolgt die Benachrichtigung über die eigene Bewegung erhalten speichert.

{"Methode":"user_moved","data":{"roomId":"fgdgd","userId":"LL","position":[0,0,0,0,0,0,0]}}
Reales Beispiel aus der Interaktion mit JanusVR 40,3:

Einige user_moved Benachrichtigungen werden enthalten zusätzliche Informationen:

{"Methode":"user_moved","data":{"roomId":"e562b2e1339fc08d635d28481121857c","userId":"ProudMinna333","position":{"pos":"8.38889 -0.267704 -5.83333","dir":"-1 -1.33e-06 9.42e-07","view_dir":"-1 -1.33e-06 9.42e-07","up_dir":"-1.33e-06 1 1.25e-12","head_pos":"0 0 0","avatar":"<FireBoxRoom><Assets><AssetObject id=^head^ src=^http://avatars.vrsites.com/chibii/head_male.obj^ mtl=^http://avatars.vrsites.com/chibii/mtls/head_male3.mtl^ /><AssetObject id=^body^ src=^http://avatars.vrsites.com/chibii/body_male.obj^ mtl=^http://avatars.vrsites.com/chibii/mtls/body_male3.mtl^ /></Assets><Room><Ghost id=^ProudMinna333^ js_id=^3^ scale=^1.700000 1.700000 1.700000^ head_id=^head^ head_pos=^0.000000 0.750000 0.000000^ body_id=^body^ /></Room></FireBoxRoom>"}}}
Allerdings sind die meisten nur so etwas wie die folgenden enthalten:

{"Methode":"user_moved","data":{"roomId":"e562b2e1339fc08d635d28481121857c","userId":"ProudMinna333","position":{"pos":"8.38889 -0.267704 -5.83333","dir":"-1 -1.33e-06 9.42e-07","view_dir":"-1 -1.33e-06 9.42e-07","up_dir":"-1.33e-06 1 1.25e-12","head_pos":"0 0 0"}}}

2.2 "user_chat" Benachrichtigung

Wenn ein Benutzer sagt etwas in den Text-Chat.

{"Methode":"user_chat", "data":{"message":"The message", "userId":"LL"}}
Reales Beispiel aus der Interaktion mit JanusVR 40,3:

{"Methode":"user_chat", "data":{"roomId":"69de79e1077103cb59d1a890e96c7ef2","userId":"ProudMinna333","message":"hello!"}}

2.3 "user_leave"/"user_enter" Benachrichtigung

Wenn ein Benutzer ändert Zimmer:

{"Methode":"user_leave", "data":{"userId":"LL","roomId":"oldRoomId"}}
{"Methode":"user_enter", "data":{"userId":"LL","roomId":"newRoomId"}}
Die Follow-up mit einem Umzug "user_moved" Veranstaltung

Reales Beispiel aus der Interaktion mit JanusVR 40,3:

TODO: Grab example of "user_leave"
TODO: Grab example of "user_enter"

2.4 "user_portal" Benachrichtigung

Wenn schafft ein Benutzer ein Portal:

{"Methode":"user_portal", "data":{"userId":"LL","roomId":"345678354764987457","url":"http://...", "pos":[0,0,0], "fwd":[0,1,0]}}
Reales Beispiel aus der Interaktion mit JanusVR 40,3:

{"Methode":"user_portal", "data":{"roomId":"e562b2e1339fc08d635d28481121857c","userId":"ProudMinna333","url":"http://www.vrsites.com","pos"

Drucke diesen Beitrag

  JanusVR Presence Server
Geschrieben von: Manni - 30.06.2016, 13:43 - Forum: Simulatoren - Keine Antworten

JanusVR Presence Server

Diese Version ist die eine , die VR - Seiten ausgeführt wird , die der Standard - Server ist , sofern keine andere in Ihrem angegeben ist
Code:
<Room>
Code. Lesen Sie hier , um zu erfahren wie Sie Ihr Zimmer einen anderen Server angeben können.


Einführung

Der Janus VR Presence Server ist ein Open - Source - Projekt von begann Lisa Croxford , die ein JanusVR - Client ermöglicht es mit einem anderen Client Informationen zu teilen. Es ermöglicht Multiplayer-Modus. Die Server-Software ist das, was jeder der JanusVR Kunden ermöglicht, wo andere Avatare sind geografisch und wer sonst in der gleichen virtuellen Raum. Es ist auch das, was Dinge wie Chat ermöglicht.
Wenn Sie weitere Informationen benötigen oder möchten , sich zu engagieren, werden Sie die meisten JanusVR - Enthusiasten auf dem finden JanusVR subreddit . Sie können auch die lesen
Code:
CONTRIBUTORS.md
Datei im Stamm dieses Repository.
Wenn Sie verstehen wollen , wie ein Client mit dem Janus VR Presence Server interagiert dann lesen sie die
Code:
API Documentation.md
im Hauptverzeichnis dieses Repository.


Installation

  1. Download und installation nodejs siehe unten
  2. Klonen dieses Repo oder laden Sie die neueste Version über die Releases Seite auf GitHub .
    cd
  3. in die Wurzel des Repository , in dem
    server.js
  4. befindet , und führen Sie
    npm install
  5. alle Modulabhängigkeiten in aufgelistet installieren
    package.json
  6. . Die Module werden in die platziert werden
    node_modules
  7. Ordner und benötigt für den Server zu starten.
  8. Kopieren Sie
    config-example.js
  9. zu
    config.js
  10. und ändern Sie die gewünschten Variablen , die Sie benötigen , um Ihren Server laufen zu lassen. Es ist ziemlich gut kommentiert, Sie zu führen.


SSL


SSL ist nicht erforderlich, den Server zu laufen, aber es wird empfohlen. Zumindest sollten Sie die selbstsignierten SSL-Verfahren unten beschrieben durchlaufen.


Selbst signierten SSL


Führen Sie das
Code:
Code:
./generate_key
Skript in der Wurzel des Repository ein SSL - Zertifikat für den Server zu erzeugen.
  • Auf die Frage eines Common Name für den Server zur Verfügung zu stellen geben Sie die Domain den Namen des Servers ausgeführt werden soll, auf. Dh
    yourdomain.com
  • . Wenn eine Entwicklerversion des Servers , auf OSX laufen , können Sie auch Ihre Bonjour verwenden Name dh
    yourcomputer.local
  • . Auf OSX können Sie Ihren Computer Bonjour Namen von Systemeinstellungen gehen -> Freigabe und unter dem Feld Computername suchen.
  • Auf die Frage, eine Herausforderung Passwort zu liefern, während das SSL-Zertifikat Presse zu erzeugen geben Sie ein Passwort zu überspringen Einstellung.

Certified SSL

Wenn Sie ein gültiges SSL-Zertifikat:
  1. Speichern Sie die Schlüsseldatei als cert / Server-key.pem
  2. Speichern Sie die Zertifikatsdatei als cert / Server-cert.pem
  3. Speichern Sie Ihre CA Zwischenzertifikate als cert / cabundle.pem

Das Ausführen des Server
    cd
  1. an die Wurzel des Repository , in dem
    server.js
  2. befindet.
  3. Führen Sie den folgenden Befehl , um den Server zu starten:
    node server.js
  4. . Wenn Sie diese kontinuierlich ausführen möchten, können Sie aussehen wollen in die Verwendung für
    forever
  5. oder
    pm2
  6. , die Knoten - Module speziell zum Ausführen von Anwendungen anderer Knoten Server aufgebaut sind.
  7. Starten Sie den JanusVR Client mit paramters zu Ihrem Server zu verbinden.
    • Windows - Erstellen Sie eine Verknüpfung zu JanusVR und fügen Sie die folgenden Argumente , die nach dem Weg zum JanusVR ausführbare
        -server my.server.com -port 5566
      • , wo
        my.server.com
      • die IP - Adresse des Computers ist (
        127.0.0.1
      • oder
        localhost
      • sollte auch hier arbeiten) und wo
        5566
      • ist der Port, auf dem der Server ausgeführt wird, wie in definierten
        config.js
      • .

    • OSX Sie können , indem Sie zu den Client von der Befehlszeile ausführen
      janusvr.app/Contents/MacOS/
    • und Laufen
        ./janusvr -server my.server.com -port 5566
      • für Nicht-ssl
        ./janusvr -server my.server.com -port 5567
      • für ssl

Beitragende
Wir haben einen Mitwirkenden Führung in der CONTRIBUTORS.md Datei in diesem Verzeichnis zu finden.
Fehlerbehebung
Zitat: schrieb:Ich kann andere Menschen nicht sehen, wenn JanusVR mit und ich weiß, andere haben die gleichen Server konfiguriert.
Presse
Code:

einmal JanusVR hat begonnen. JanusVR werden alle Server aufgelistet, zu dem Sie versuchen, eine Verbindung oder verbunden sind. Sie sollten Ihre Server in dieser Liste zu sehen. Wenn Ihr Server rot ist, dann bedeutet es, dass JanusVR keine Verbindung herstellen kann. Überprüfen Sie Firewall - Einstellungen auf dem Server , um sicherzustellen , dass Port
Code:
5566
und
Code:
5567
(für SSL) offen sind und in der Lage Datenverkehr empfangen. Überprüfen Sie die
Code:
server.log
Datei auf dem Server , um zu sehen , ob es irgendwelche Fehler sind.
Zitat: schrieb:Ich trat in die falschen Angaben für meinen Schlüssel nach der Ausführung
Code:
Code:
./generate_key
.
Code:
Code:
./generate_key
werden 3 Dateien auf der Grundlage Ihrer Eingabe erzeugen:
    /cert/server-key.pem /cert/server-cert.pem /cert/cabundle.pem
  • Löschen Sie einfach diese und führen Sie './generate_key' wieder.

Zitat: schrieb:Ich habe ein allgemeines Problem und müssen einige Informationen zur Fehlerbehebung über die Server-Anwendung.
Schauen Sie sich die aus
Code:
server.log
- Datei. Nur Schwanz es und Sie werden das Protokoll wird geschrieben als Aktivitäten statt finden - zB Anmeldung usw.
Lizenz
Dieses Projekt wird unter der MIT-Lizenz lizenziert. Siehe die LICENSE.txt Datei in diesem Verzeichnis für vollständigen Text.

Drucke diesen Beitrag

  JanusVR Presence Server Quellen
Geschrieben von: Manni - 30.06.2016, 13:36 - Forum: Simulatoren - Keine Antworten

Quellen:

Erste offizielle Veröffentlichung
von JanusVR Presence Server V0.1.0.
Dies führt folgendes ein:

Wenn von einer früheren Version dieses Servers ein Upgrade sicherstellen, dass Sie:
  1. Neu über npm installieren
  2. die IP-Spalte von access_statistics auf 40 Zeichen erweitern, so dass IPv6-Adressen passen
  3. ändern aller Skripte für aktive Benutzer abfragen
 SELECT `userId`, `roomId`, `ip`, `note`, `client_version` FROM `users` WHERE `updated_at` > DATE_SUB(NOW() , INTERVAL 10 SECOND)
Downloads
NodeJS


Nodejs Wikipedia: https://de.wikipedia.org/wiki/Node.js
Nodejs Download Win, Mac, Linux, Arm V6,7,8, etc.: https://nodejs.org/en/download/



Ubuntu (Debian) Installationsbeispiel



Nodejs Paketliste zum installieren:
Code:
sudo apt-get install nodejs

npm Node Package Manager:
Code:
sudo apt-get install npm

Falls bei der Paketinstallation mit npm der Fehler sh: 1: node: not found auftritt muss noch folgenden Zusatzpaket installiert werden:
Code:
sudo apt-get install nodejs-legacy

Zum Installieren einer Erweiterung dient der Befehl
Code:
npm install ERWEITERUNG
zum Deinstallieren der Befehl
Code:
npm uninstall ERWEITERUNG



ACHTUNG wer Node.js über die Paketquellen installiert hat, der muss statt node den Aufruf nodejs verwenden!
Mehr Informationen hier https://wiki.ubuntuusers.de/Node.js/

Drucke diesen Beitrag

  janus virtual reality
Geschrieben von: Manni - 30.06.2016, 10:25 - Forum: Simulatoren - Keine Antworten

Der JanusVR Viewer

Dieser JanusVR Viewer funktioniert sofort nach der Installation.
Zum testen sind keine weiteren Einstellungen nötig.
Zum testen braucht ihr nicht den Server installieren.

Herunterladen von JanusVR Version 50.9

Windows: http://downloads.janusvr.com/janusvr_windows.exe
OSX: http://downloads.janusvr.com/janusvr.dmg
Linux: http://downloads.janusvr.com/janusvr_linux.tar.gz





Was ist das Janus VR Presence Server-Projekt?

janusVR ermöglicht es Benutzern in einer virtuelle Realität auf Inhalte über das Internet zugreifen zu können . Janus VR Presence Server (das Projekt) ermöglicht mehreren Benutzern von janusVR eine Internet-basierte virtuellen Realität Welt zu erkunden ( "VR Web") . Benutzer von janusVR können sich mit einem Server verbinden die Janus VR Presence Server-Software, um mit anderen Benutzern zu verbinden , die auch im VR-Web surfen und mit dem gleichen Server angeschlossen.

   
Beispiel für Janus VR Presence Server mit 6 Clients und ermöglicht Multiplayer-Interaktionen

Die Janus VR Presence Server API
Die API , die JanusVR verwendet mit Janus VR Presence Server zu kommunizieren , wird hier beschrieben.

Janus VR Presence Server-Funktionen
Janus VR Presence Server können Clients, die auf dem Server und im selben Raum angeschlossen sind:

  • Sich sehen, sich bewegen - Austausch Positionsinformationen
  • Chat - Broadcast Chat-Nachrichten an andere, die im selben Raum sind
  • Portale Teilen - Benutzer können jedes andere Portale sehen, da diese in den Raum geschaffen
Wie ihr seht ist dieser Artikel noch im Aufbau.

Also bitte keine Beschwerden Wink

Wenn ihr dies schon getestet habt, Postet bitte eure erfahrungen.

Drucke diesen Beitrag

  Vishva
Geschrieben von: Manni - 29.06.2016, 21:15 - Forum: Simulatoren - Keine Antworten

Vishva,
ein Hindi - Wort für "Welt" ist eine virtuelle Welt ähnlich OpenSim und Second Life.


Download kostenlos: https://github.com/ssatguru/Vishva


Info Englisch: http://ssatguru.appspot.com/BabylonJS-Vishva/intro.html

   

Drucke diesen Beitrag