From f72742710ff5966d705e01afcaef569885a90238 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 12 Sep 2013 11:09:36 -0700 Subject: [PATCH 1/3] touchup the README for new local stack --- README.md | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 70fb0d3f2d..9b3b36439c 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,10 @@ build). cmake .. -G Xcode Those are the commands used on OS X to run CMake from the build folder -and generate Xcode project files. If you are building on a *nix system, -you'll run something like "cmake .." (this will depend on your exact needs) +and generate Xcode project files. + +If you are building on a *nix system, +you'll run something like "cmake ..", which uses the default Cmake generator for Unix Makefiles. Building in XCode ----- @@ -92,29 +94,36 @@ I want to run my own virtual world! In order to set up your own virtual world, you need to set up and run your own local "domain". At a minimum, you must run a domain-server, voxel-server, -audio-mixer, and avatar-mixer to have a working virtual world. +audio-mixer, and avatar-mixer to have a working virtual world. The audio-mixer and avatar-mixer are assignments given from the domain-server to any assignment-client that reports directly to it. -Complete the steps above to build the system components. Then from the terminal -window, change directory into the build direction, then launch the following -components. +Complete the steps above to build the system components, using the default Cmake Unix Makefiles generator. Then from the terminal +window, change directory into the build directory, make the needed components and then launch them. - ./domain-server/Debug/domain-server --local & - ./voxel-server/Debug/voxel-server --local & - ./avatar-mixer/Debug/avatar-mixer --local & - ./audio-mixer/Debug/audio-mixer --local & +First we make the targets we'll need. From the build directory: + + make domain-server voxel-server assignment-client + +Then, launch the static components - a domain-server and a voxel-server. + + (cd domain-server && ./domain-server --local > /tmp/domain-server.log 2>&1 &) + ./voxel-server/voxel-server --local > /tmp/voxel-server.log 2>&1 & + +Then we run as assignment-client with 2 forks to fulfill the avatar-mixer and audio-mixer assignments. It uses localhost as its assignment-server and talks to it on port 40102 (the default domain-server port). + + ./assignment-client/assignment-client -n 2 -a localhost -p 40102 > /tmp/assignment-client.log 2>&1 & To confirm that the components are running you can type the following command: - ps ax | grep -w "domain-server\|voxel-server\|audio-mixer\|avatar-mixer" + ps ax | grep -w "domain-server\|voxel-server\|assignment-client" You should see something like this: - 70488 s001 S 0:00.04 ./domain-server/Debug/domain-server --local - 70489 s001 S 0:00.23 ./voxel-server/Debug/voxel-server --local - 70490 s001 S 0:00.03 ./avatar-mixer/Debug/avatar-mixer --local - 70491 s001 S 0:00.48 ./audio-mixer/Debug/audio-mixer --local - 70511 s001 S+ 0:00.00 grep -w domain-server\|voxel-server\|audio-mixer\ - |avatar-mixer + 7523 s000 SN 0:00.03 ./domain-server --local + 7537 s000 SN 0:00.08 ./voxel-server/voxel-server --local + 7667 s000 SN 0:00.04 ./assignment-client/assignment-client -n 2 -a localhost -p 40102 + 7676 s000 SN 0:00.03 ./assignment-client/assignment-client -n 2 -a localhost -p 40102 + 7677 s000 SN 0:00.00 ./assignment-client/assignment-client -n 2 -a localhost -p 40102 + 7735 s001 R+ 0:00.00 grep -w domain-server\|voxel-server\|assignment-client Determine the IP address of the machine you're running these servers on. Here's a handy resource that explains how to do this for different operating systems. From 5e5e2b3babe89fd95e0328955c2ec5c687c10e98 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 12 Sep 2013 12:16:02 -0700 Subject: [PATCH 2/3] add some more clarity for unix makefiles --- README.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9b3b36439c..8285c686dc 100644 --- a/README.md +++ b/README.md @@ -96,13 +96,24 @@ In order to set up your own virtual world, you need to set up and run your own local "domain". At a minimum, you must run a domain-server, voxel-server, audio-mixer, and avatar-mixer to have a working virtual world. The audio-mixer and avatar-mixer are assignments given from the domain-server to any assignment-client that reports directly to it. -Complete the steps above to build the system components, using the default Cmake Unix Makefiles generator. Then from the terminal -window, change directory into the build directory, make the needed components and then launch them. +Complete the steps above to build the system components, using the default Cmake Unix Makefiles generator. Start with an empty build directory. -First we make the targets we'll need. From the build directory: + cmake .. +Then from the terminal +window, change directory into the build directory, make the needed components, and then launch them. + +First we make the targets we'll need. + + cd build make domain-server voxel-server assignment-client +If after this step you're seeing something like the following + + make: Nothing to be done for `domain-server'. + +you likely had Cmake generate Xcode project files and have not run `cmake ..` in a clean build directory. + Then, launch the static components - a domain-server and a voxel-server. (cd domain-server && ./domain-server --local > /tmp/domain-server.log 2>&1 &) From 97d00aab03f56e556d5cbba34f48ceb1c6107f7a Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 12 Sep 2013 16:02:36 -0700 Subject: [PATCH 3/3] more touchup to readme for assigned local stack --- README.md | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 8285c686dc..6c35950da8 100644 --- a/README.md +++ b/README.md @@ -114,27 +114,16 @@ If after this step you're seeing something like the following you likely had Cmake generate Xcode project files and have not run `cmake ..` in a clean build directory. -Then, launch the static components - a domain-server and a voxel-server. +Then, launch the static components - a domain-server and a voxel-server. All of the targets will run in the foreground, so you'll either want to background it yourself or open a seperate terminal window per target. - (cd domain-server && ./domain-server --local > /tmp/domain-server.log 2>&1 &) + cd domain-server && ./domain-server --local ./voxel-server/voxel-server --local > /tmp/voxel-server.log 2>&1 & -Then we run as assignment-client with 2 forks to fulfill the avatar-mixer and audio-mixer assignments. It uses localhost as its assignment-server and talks to it on port 40102 (the default domain-server port). +Then, run an assignment-client with 2 forks to fulfill the avatar-mixer and audio-mixer assignments. It uses localhost as its assignment-server and talks to it on port 40102 (the default domain-server port). - ./assignment-client/assignment-client -n 2 -a localhost -p 40102 > /tmp/assignment-client.log 2>&1 & + ./assignment-client/assignment-client -n 2 -a localhost -p 40102 -To confirm that the components are running you can type the following command: - - ps ax | grep -w "domain-server\|voxel-server\|assignment-client" - -You should see something like this: - - 7523 s000 SN 0:00.03 ./domain-server --local - 7537 s000 SN 0:00.08 ./voxel-server/voxel-server --local - 7667 s000 SN 0:00.04 ./assignment-client/assignment-client -n 2 -a localhost -p 40102 - 7676 s000 SN 0:00.03 ./assignment-client/assignment-client -n 2 -a localhost -p 40102 - 7677 s000 SN 0:00.00 ./assignment-client/assignment-client -n 2 -a localhost -p 40102 - 7735 s001 R+ 0:00.00 grep -w domain-server\|voxel-server\|assignment-client +Any target can be terminated with CTRL-C (SIGINT) in the associated terminal window. Determine the IP address of the machine you're running these servers on. Here's a handy resource that explains how to do this for different operating systems. @@ -154,8 +143,14 @@ may now use this IP address to access your domain. If you are running a local DNS or other name service you should be able to access this IP address by name as well. +To test things out you'll want to run the Interface client. You can make that target with the following command: + + make interface + +Then run the executable it builds, or open interface.app if you're on OS X. + To access your local domain in Interface, open the Preferences dialog box, from -the Interface menu, and enter the IP address of the local DNS name for the +the Interface menu on OS X or the File menu on Linux, and enter the IP address of the local DNS name for the server computer in the "Domain" edit control. In the voxel-server/src directory you will find a README that explains in