Very First Tests with DIS and FreeWrl
Initial Trials with elevator3.x3d
The sourceforge project FreeWrl has added some examples about X3D chapter 28 "Distributed Interactive Simulation" on their testing homepage ( https://freewrl.sourceforge.io/tests/28_Distributed_interactive_simulation/).
One of these examples is the elevator3.x3d, which automatically adds simple cones as avatars of the other users, when the DIS Entity Manager detects a new entity of type 77 (i.e. an avatar). The scene consists of two simple floors and an elevator that can drive from the ground floor to the first floor.
2023-12-20 (09): Very first start of elevator3.x3d with two local instances
Video Record:
https://lc-soc-lc.at/owncloud/index.php/s/FQCi7ix1yUGHIUF
Cloud Password for the video: HalloWelt
TEST-003/TEST-004: Test Session 2023-12-21
At a test session in the morning of Dec 21st, 2023, I tried to nail down the most important behavioral shortcomings of the elevator3.x3d scene, when using it on FreeWrl 6.4 on my private Windows laptop
SF-003/SF-004: Stored Files after the Test Session
The files were downloaded, files elevator2.x3d and elevator3.x3d were slightly modified and some files were added in the course of the test session.
The modfied files of after the test session are available here: ./elevator/* / ./elevator.zip.
The original files had been taken from https://freewrl.sourceforge.io.
For reference they are available here:
./elevator-original/* / ./elevator-original.zip.
TEST-003: Single Instance Test, basic wireshark trace
Video Record (TEST-003):
https://lc-soc-lc.at/owncloud/index.php/s/x0t3Hn4U5MYV1pY
Cloud Password for the video: HalloWelt
The .pcap was recorded and stored - see SF-003 above.
Q-003: Following questions were raised
- Q-003-01: Why does the FreeWrl 6.4 output that nasty logs that fill
the whole display?
- Meanwhile, this bug has been corrected in FreeWRL 6.6
- See the Re-Test with TEST-008
- Q-003-02: When assuming the DIS Comment PDUs are caused by both sensors of
the scene, i.e. by the TouchSensor and by the TimeSensor, then the question
arises: why do we need traffic for the TimeSensor, when we have already the
touch event of the TouchSensor propagated thru the network?
Isn't that redundant information?
- Meanwhile, this question has been answered by an e-mail from Doug S
- A-003-02/1: Currently, ALL events of ALL sensor nodes are distributed via DIS Comment PDUs to the other scene instance
- A-003-02/2: FreeWrl could introduce classes of sensors with different behaviour. In case of interest, I have indicated that I would volunteer to create a proposal via x3d-public
TEST-004: Two Instances Test (one machine), behavioral assessment
Video Record (TEST-004):
https://lc-soc-lc.at/owncloud/index.php/s/UxkgCKvWakBEg7p
Cloud Password for the video: HalloWelt
The .pcap was recorded and stored - see SF-004 above.
Q-004: Following questions were raised
- Q-004-01: Why does the avatar of the first instance appear at the second
instance, only after the user on the first instance moves a bit?
- Meanwhile, this question has been answered by an e-mail from Doug S
- A004-01: The Entity State PDUs for the position of the user (i.e. of the avatar) are only sent, if the user has moved. They COULD be sent by a heartbeat, however, if the user does not move
- 2024-02-17: This has been changed with FreeWrl 6.6. See the Re-Test with TEST-008
- Q-004-02: Why does the elevator in the first instance NOT start to move,
after I have touched the button in the second instance?
- This question has been answered by TEST-005 - see A-004-02 below
- Q-004-03: Why does the first instance crash, soon after I touch the button
in the second?
- This question has been answered by TEST-005 - see A-004-02 below
TEST-005: Test Session 2023-12-28 - Two Machines Test (2 instances)
One of our regular members (i.e. h0v36-204) and me (i.e. yeti) met in a virtual way via our TeamSpeak3 server (TVI-TS) and he installed the necessary software for tests with FreeWrl and DIS on his Windows machine.
After updating the graphics driver (FreeWrl would not start without that) and udating his OpenVPN client to a contemporary version, we did some trials with the elevator3.x3d scene.
Answer to questions Q-004-02 and Q-004-03
A-004-02 / A-004-03
- Doug explained in an e-mail that the current - experimental - implementation of "DIS Sensor Event Distribution (DISSED)" assumes that all sensor nodes and the grouping nodes that the sensor nodes are children of, need to be tagged by DEF names. FreeWrl takes those DEF names, creates a hash and distributes the hash to the other scene instances, in order to check, if the same scene is running on all instances.
- If one of these DEF names is missing, the FreeWrl will simply crash
- Therefore I added a DEF name to the <Transform> node that holds the <TouchSensor> node, in elevator2.x3d and elevator3.x3d
Q-005: Following questions were raised
- Q-005-01: Currently we are having troubles with the forwarding of multicast UDP datagrams at our VPN server, the root cause is yet unknown?
However, if you like, you can have a look to the "test-005....." .pcaps in the updated files (see SF-005 below).
SF-005: Stored Files after the Test Session
The files were taken from the test session 2023-12-21 (see SF-003 above), files elevator2.x3d and elevator3.x3d were slightly modified in answer to question Q004-02 and Q004-03 (see A-004-02/03 above) and then used for the test session.
Some files were added in the course of the test session.
The modified files of after the test session are available here: ./elevator-modified/* / ./elevator-modified.zip.
TEST-006: Test Session 2024-01-18 (Chat Hour No. 2)
In the course of our Chat Hour No.2 on Thursday, 2024-01-18, h0v36-204 and me (yeti) did a quick test, just to take the .pcaps of a "Two Machines Test (2 Instances)", i.e. we repeated the failed scenario from 2023-12-28, with the goal to get our VPN working.
After taking the traces, all traces have been stored and are available together with the files of TEST-007 (see SF-007 below).
Q-006: Following questions were raised
- Q-006-01: Can we make the VPN work, just by switching from a routed VPN
to a bridged VPN? - this was the idea, after analysing the .pcaps and
after some lookup in the WWW
- Meanwhile, this question has been answered by TEST-007 below. The answer is yes
P-006: Planning the Test Session
We had written down the scenario thoroughly, in order to repeat comparable test results
Scenario SC-0x01: Two Players Riding the Elevator (elevator3.x3d)
- Prerequisites SC-0x01
- 2 Testers, 2 Windows PCs with Internet Access, OpenVPN Client and FreeWrl
- Access to our Tiny VPN Island
- Scene "elevator3.x3d"
- Testing Procedure
- Tester 1 is player 1, tester 2 is player 2, tracing is carried out on both PCs (tester 1/site 1 and tester 2/site 2), the concrete steps of scenario SC-0x01 are carried out (see below).
- Then both testers end the simulation and repeat with roles reversed (tester 1 is player 2, tester 2 is player 1).
- Concrete Steps for Scenario SC-0x01
- Player 1 starts the simulation (elevator3.x3d)
- Player 1 positions himself against the opposite wall so that Player 1 and Player 2 then can stand face to face
- Player 2 starts the simulation (elevator3.x3d). His avatar becomes visible to Player 1
- Player 1 moves a bit. His avatar becomes visible to Player 2
- Player 2 presses the elevator button
- Wait for the elevator to reach the 2nd floor
- Both Player 1 and Player 2 end the simulation
TEST-007: Test Session 2024-01-20
The settings of our VPN have been modified, in answer to question Q-006-01 above. The VPN was switched from a routed VPN into a bridged VPN. This solved the issue
Video Record (TEST-007):
https://lc-soc-lc.at/owncloud/index.php/s/W8sXMH06v7g3KKr
Cloud Password for the video: HalloWelt
The .pcap was recorded and stored - see SF-007 below.
SF-007: Stored Files after the Test Session (final elevator example)
The files were taken from the test session 2023-12-28 (see SF-005 above) and the .pcaps from TEST-006 and TEST-007 have been added.
The modified files of after the test session are available here: ./elevator-final/* / ./elevator-final.zip.
TEST-008: Re-Test with FreeWRL 6.6 - 2024-02-17
The new FreeWRL 6.6 has been installed and the elevator3.x3d scene was executed on two instances (one machine). The bugs were fixed.
Video Record (TEST-008):
https://lc-soc-lc.at/owncloud/index.php/s/IK0XVW0RGc8ICGT
Cloud Password for the video: HalloWelt
No .pcap was recorded. The files have not been changed see SF-007 above.
HEREWITH, THIS PAGE (THIS REPORT) IS FINISHED AND THE PAGE WILL NOT BE CHANGED ANY MORE.