PublicVR Forum

Online discussions of everything having to do with PublicVR, especially current projects, tech support, educational practice and theory. See http://publicvr.org for basic information and send questions to jeff@publicvr.org
It is currently Sat Feb 24, 2018 7:19 am

All times are UTC - 5 hours




Post new topic Reply to topic  [ 14 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: SharedUpdater
Unread postPosted: Wed Oct 22, 2008 1:44 pm 
Offline

Joined: Mon Jun 02, 2008 6:47 pm
Posts: 15
Quote:
On Wed, Oct 22, 2008 at 11:04 AM, Jeffrey Jacobson <jeff@publicvr.org> wrote:


Please fix.


TEST LOG for SharedUpdater 10/22/08.

Copied SharedUpdater onto server machine, called "squid". Had an unmodified UT2004 installation in a folder called "Unreal2004" and made it read/writable for all the world. I also changed the local standard file permissions to be read/write.

Ran SharedUpdater executable
clicked on the "add" button.
entered a machine name "server".
entered the "Machine Location" as "//squid/Unreal2004/"

It then gave me a pop-up dialogue box titled "WarningForm", which said "Warning: Directory Already exists, Delete and Recreate?" and gave me a
two button choice "Ok" or "Cancel".

I pressed "Cancel" and got a similar box, saying "Warning: Do you want to
delete client files?" I pressed "cancel" again, and that was the end of it. The operation simply failed and nothing apparent happened.

When I said "OK" it tried to delete everything in in //squid/Unreal2004, but only managed to blow away the too little text files there, and none of the folders. I see that it copied a whole bunch of CaveUT installation files into the Unreal2004 folder, intended for the System directory.
It also offered a dialog box asking if I want to "Delete Client Files". If I press OK, it deletes all the files it put in the directory, if I press "cancil", it leaves them.

STARTING OVER

Returned the folder "Unreal2004" to its original state.
Restared SharedUpater.
press the "add" button on SharedUpdater GUI.
Enter the machine name, "Server"
For "Machine Location" entered "\\squid\Unreal2004\System"
Pressed "OK".

Dialogue box popped-up, titled "WarningForm", which said "Warning:
Directory Already exists, Delete and Recreate?", with buttons "OK"
and "Cancel".

Pressed "OK"

All pre-existing files in the system directory were deleted, and replaced them with several installation files. Also, a second "WarningForm" dialogue box saying, "Do you want to delete client files?"

Pressed "Cancel" and it left the files there. Here is the DBConsole output:
- Adding new user Server at \\squid\Unreal2004\System
- CreateDirectory() - Dir doesn't exist, prompting for create.
Files exist in new directory, deleting them.
ERROR Creating directory: System.IO.IOException: The directory is not empty.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive)
at Updater.CreateDirectory(String dir)
- Copying files from ./Default/Core to \\squid\Unreal2004\System
- Copying file: CaveUT.int to \\squid\Unreal2004\System\CaveUT.intComplete.
- Copying file: CaveUT.u to \\squid\Unreal2004\System\CaveUT.uComplete.
- Copying file: CaveUT_DedicatedServer.bat to \\squid\Unreal2004\System\CaveUT_DedicatedServer.batComplete.
- Copying file: CaveUT_ListenServerPlayer.bat to \\squid\Unreal2004\System\CaveUT_ListenServerPlayer.batComplete.
- Copying file: CaveUT_ListenServerSpectator.bat to \\squid\Unreal2004\System\CaveUT_ListenServerSpectator.batComplete.
- Copying file: CaveUT_Player.bat to \\squid\Unreal2004\System\CaveUT_Player.batComplete.
- Copying file: CaveUT_Spectator.bat to \\squid\Unreal2004\System\CaveUT_Spectator.batComplete.
- Copying file: opengl32.dll to \\squid\Unreal2004\System\opengl32.dllComplete.
- Copying files from C:\publicvr\CaveUT\Tools\SharedUpdater\bin\Default\Core\.svn to \\squid\Unreal2004\System\.svn
- Copying file: all-wcprops to \\squid\Unreal2004\System\.svn\all-wcprops ERROR: No new directory created: System.IO.DirectoryNotFoundException: Could not find a part of the path '\\squid\Unreal2004\System\.svn\all-wcprops'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
at System.IO.FileInfo.CopyTo(String destFileName, Boolean overwrite)
at Updater.PushFiles(String source, String dest)
at Updater.PushFiles(String source, String dest)
at Updater.AddNewClient(String name, String dest)
- DeleteDirectory() - Dir exists, prompting for delete.
Server removed from client list.


Weird, it only deletes the caveut files on my machine. I'll take a look tonight. And yes, I'll fix the "cancil". Didn't even think to do a spell check.

One other thing, if and when this is actually used the .svn folders should be deleted. Right now the program dummy copies every file in the 'default' folder and this includes the hidden .svn folder that TortoiseSVN uses to keep the gui updated.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Wed Oct 22, 2008 1:56 pm 
Offline

Joined: Tue May 27, 2008 11:29 pm
Posts: 558
I had been running SharedUpdater out of the folder in my SVN tree. I can export it next time I test.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Wed Oct 22, 2008 4:59 pm 
Offline

Joined: Mon Jun 02, 2008 6:47 pm
Posts: 15
It's up to you. It won't break anything, you'll just have a weird hidden .svn folder inside of your system folder.

Alright I've fixed the problem. When you add a new machine SharedUpdate no longer assumes that folder needs to be created. It must already exist. Makes sense, UT2k4 should already be installed by this point. I've run it a few times on my machine and it doesn't ever delete the folder files. The only time files are deleted from the client are if you delete that client from the SharedUpdate list. Even in that instance though you are told that all of the files be deleted and you'll be asked if you'd like to continue. You can still delete a client without deleting it's files. I'll make this a bit smarter by using a file list for upload and download. The server should keep track of who has what. For now though it'll work just fine.

Installation hasn't changed.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Sun Nov 02, 2008 4:00 pm 
Offline

Joined: Mon Jun 02, 2008 6:47 pm
Posts: 15
Program no longer deletes any files, the onus is on the user to do that manually.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Wed Nov 05, 2008 1:19 am 
Offline

Joined: Tue May 27, 2008 11:29 pm
Posts: 558
It basically works! Good job. Just a few minor adjustments...

When I first tried it, the program failed, because I had forgotten to share the folder, which is necessary even on the local machine. Not a problem, just something for the FAQ.

In the documentation, let's instruct users to export the entire UT2004 folder. That way, we will be able to expand the installer, so it can load levels. So the format for the path ot the System folder would be:

    \\<hostname>\<UT2004 main foldername>\System

I suppose this is stylistic, but it just seems cleaner to me. This way, the user can have more than UT2004 installation with relative ease, and the "system" is always named "System" everywhere.

In CaveUT_Spectator.bat set Name=Player and in CaveUT.ini set Master=Player. The CaveUT spectator looks at the value of "Master" and then tries to attach to a player of the same name. More advanced users can have sets of spectators attaching to different players, etc. That is a time not for now!

It would be nice to have a quick way for the user to update the IP address in CaveUT_Player.bat and CaveUT_Spectator.net files. For now, it would be okay to have the user enter the server IP address in some box, press a button, then the program would update those IP addresses on all machines in the client list. the "modify settings" dialog is very cool. I only had time to spot check it tonight. I'll tested exhaustively later when I'm not exhausted myself!

Upon installation, you wisely have a warning message about possibly overriding CaveUT files. Please change it to read: "Warning: this overwrite any existing CaveUT files."

Add some graceful error handling for the condition where the installer can't connect to the shared folder. That will happen a lot due to user mistakes.

Generally, this is looking good! Please upgrade it to install Max' latest vesion of CaveUT. From the forums and the code, you will notice that he made some minor changes, but the main thing is that he created a second mutator called CaveUTCursorExample. For the moment, and another button to the interface called "install example" which will install it. Use the code at download/file.php?id=75

Which we have been calling "RC3". I admit that there will be minor changes to his code, which will ripple through to your installer. However, I prefer to have you work on the full installer now to allow for more time for testing and cosmetic design.

When you are done with that, write a careful README.

Enjoy.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Sun Nov 16, 2008 7:17 pm 
Offline

Joined: Mon Jun 02, 2008 6:47 pm
Posts: 15
goshen wrote:
In the documentation, let's instruct users to export the entire UT2004 folder. That way, we will be able to expand the installer, so it can load levels. So the format for the path ot the System folder would be:

\\<hostname>\<UT2004 main foldername>\System

I changed it a tad further. The user specifies the \\<hostname>\<UT2004 main foldername> and stops there. Stylistically this way the user is simply providing the root from which the system will do the rest. That way we can always assume levels are at \\<hostname>\<ut2004 main foldername>\maps etc.... It's easier to keep track of folders in this manner programmatically, otherwise I have to keep a master list of all possible roots per client. Does that make sense?

goshen wrote:
It would be nice to have a quick way for the user to update the IP address in CaveUT_Player.bat and CaveUT_Spectator.net files. For now, it would be okay to have the user enter the server IP address in some box, press a button, then the program would update those IP addresses on all machines in the client list. the "modify settings" dialog is very cool. I only had time to spot check it tonight. I'll tested exhaustively later when I'm not exhausted myself!

I've added a button called 'Set Server IP' that allows you to specify the server ip address and the CaveUT_Player.bat and CaveUT_Spectator.bat files will be updated respectively. It should also tell you if you've formatted the IP address incorrectly.

goshen wrote:
Upon installation, you wisely have a warning message about possibly overriding CaveUT files. Please change it to read: "Warning: this overwrite any existing CaveUT files."

Done. I've also changed a couple of things regarding installation. The program will not create a System folder if none exists anymore. I decided there is no reason the program would create an empty system folder. The user has to specify a valid Ut2004 folder which will always have a System folder if installation was correct. I do provide a warning.

goshen wrote:
Add some graceful error handling for the condition where the installer can't connect to the shared folder. That will happen a lot due to user mistakes.

Done. As far as I can tell all the large errors are caught and dumped to the error log window.

goshen wrote:
Generally, this is looking good! Please upgrade it to install Max' latest vesion of CaveUT. From the forums and the code, you will notice that he made some minor changes, but the main thing is that he created a second mutator called CaveUTCursorExample. For the moment, and another button to the interface called "install example" which will install it. Use the code at download/file.php?id=75


Done. I put RC3 files in to the CaveUT data folder. For the time being the CursorExample will be installed with the core files. I'll update next time I pump out an update. I need to make a small modification so that I can specify subfolders in the .ini file.

I'll put together a better readme with some photos for illustration. Is .pdf form acceptable?


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Sun Nov 16, 2008 7:32 pm 
Offline

Joined: Tue May 27, 2008 11:29 pm
Posts: 558
Good! I prefer the documentation in Word or html format. It's going to get edited and upgraded constantly.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Thu Nov 20, 2008 11:38 am 
Offline

Joined: Tue May 27, 2008 11:29 pm
Posts: 558
I ran Shared Updater and was able to install a working server and client without hassle. Is good. I have a list debugs and modifications, here, that will get us through the next stage. After we work with it for a while and get some comments from other testers, we will have to make a final round of stylistic changes, then the public release. To wit:

Change the name of the button "Install Complete" --> "Install Full Demo"

Set Server IP only works on the selected
Allow selection of multiple machines.

Put the PublicVR logo underneath the "close" button and link it to our website.

The "Set Server IP" works fine, but only for the selected machine. Make it so the user can select more than one machine to make uniform changes across all clients and/or the server.

For the base installation, in files CaveUT.ini, CaveUTCursorExample.ini, and CaveUT_Player.bat change "Player1" to "Player2". the error condition where the spectator starts up without the CaveUT mutator functioning happens when the server is running "Player1" and the spectators trying to connect to a nonexistent "Player2" or vice versa.

The "Modify Settings" dialogue does not appear to work. I select a machine, click the "Modifying Settings" button, modifying any one or more of the settings, and click "save". Nothing happens in the debugging window, nor do any values in CaveUT.ini change. Please fix.

Rearrainge the "Modify Client" dialogue as follows:

    Change the dialogue box banner title to read "Modifing Client Settings: <list>"

    Change the name of the "Spectator Settings" tab to "VRGL OffAxis".

    Eliminate the "Mutator Settings" tab, and the opportunity to set the ServerTickRate, for now.

    Change the name of the "CaveUT Settings" tab to "CORE Client". Then, under this tab:

      Eliminate "Frame Rate". We might bring it back later.

      Put a big warning message to the right of the inputs saying "WARNING! If you installed the CursorExample Mutator, set these values in the CursorExample dialogue, not here."

    Add a new tab called "CursorExample" to set all the values in "CursorExample.ini". You will notice that it had duplicate values for those found in CaveUT.ini from "Master="..."RotationIncrement=". The values listed here will override values in the CaveUT.ini file. Unfortunately, it takes input in unreal units, instead of degrees. Max will fix this. In the meantime, just multiply all those values and degrees by 182.044444, before writing them to CursorExample.ini. The "extent" parameters limit where the on-screen cursor can go; they are also listed in unreal units for now.

Finally, make the README file in word or plaintext. I'll take it from there.

Quote:
.... The user specifies the \\<hostname>\<UT2004 main foldername> and stops there....
Good. I like that better.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Sun Dec 07, 2008 8:44 pm 
Offline

Joined: Mon Jun 02, 2008 6:47 pm
Posts: 15
goshen wrote:
Set Server IP only works on the selected
Allow selection of multiple machines.

Done. You can also select multiple machines for installing CaveUT files. You cannot select multiple machines for .ini file modification however. I feel its safer this way. Programmatically it's also a bit cleaner.

goshen wrote:
Put the PublicVR logo underneath the "close" button and link it to our website.

There is a small bitmap with the logo from your website. It links directly to publicvr.org

goshen wrote:
The "Modify Settings" dialogue does not appear to work. I select a machine, click the "Modifying Settings" button, modifying any one or more of the settings, and click "save". Nothing happens in the debugging window, nor do any values in CaveUT.ini change. Please fix.

Fixed. I changed the dialog slightly to control the size a bit better. The variable table is now embedded in a scrollable panel so that I can added variables dynamically directly from the file without having to manually create the table in an editor.

goshen wrote:
Rearrainge the "Modify Client" dialogue as follows:

Change the dialogue box banner title to read "Modifing Client Settings: <list>"

Change the name of the "Spectator Settings" tab to "VRGL OffAxis".

Eliminate the "Mutator Settings" tab, and the opportunity to set the ServerTickRate, for now.

Change the name of the "CaveUT Settings" tab to "CORE Client". Then, under this tab:

Eliminate "Frame Rate". We might bring it back later.

Put a big warning message to the right of the inputs saying "WARNING! If you installed the CursorExample Mutator, set these values in the CursorExample dialogue, not here."

Add a new tab called "CursorExample" to set all the values in "CursorExample.ini". You will notice that it had duplicate values for those found in CaveUT.ini from "Master="..."RotationIncrement=". The values listed here will override values in the CaveUT.ini file. Unfortunately, it takes input in unreal units, instead of degrees. Max will fix this. In the meantime, just multiply all those values and degrees by 182.044444, before writing them to CursorExample.ini. The "extent" parameters limit where the on-screen cursor can go; they are also listed in unreal units for now.

Also complete. One thing: I tried to make sure that the CursorExample tab only writes the modified value to the file if the user has actually changed something. The only problem I can see is that someone might get confused if they saved a file with "1" as FOVOffset only to have it show up as 182.4444 the next time they load the file.

goshen wrote:
Finally, make the README file in word or plaintext. I'll take it from there.

There is a .doc uploaded that contains a few explanations and a couple of screengrabs.

Feel free to play around. Right now when you go to modify a file a 2nd debugging windows will appear. Once things have been fully tested I'll get rid of this window and dump the contents to a file.


Top
 Profile  
 
 Post subject: Re: SharedUpdater
Unread postPosted: Sun Dec 14, 2008 12:06 pm 
Offline

Joined: Tue May 27, 2008 11:29 pm
Posts: 558
My first round of testing with your installer showed that its trapping all the appropriate files and updating the CaveUT.ini file correctly, which is good. However, with the full demo installation, most of the CaveUT variables are duplicated in "CaveUTCursorExample.ini", which override the CaveUT.ini values. This is why the installer functions to change the values for CaveUT did not appear to work. I tested around a little bit more, but kind of held off waiting for the last version of the code. Max posted it the other day at: viewtopic.php?p=229#p229

Please incorporate these new files into the installer. Then, always have the installer look for the CaveUTCursorExample.ini. The installer should mirror changes in CaveUT.ini in this file and any others necessary. it's a bit of a hack, but we really need to get something that works for our initial release. Come to think of it, it makes sense to make the root name of the user's application (in this case "CaveUTCursorExample") a parameter. Do that only if it makes sense.

Then, please fully test the installer before you send it to me. That means not just writing the appropriate *.ini files, but also test the CaveUT installation that results. Test changing the parameters on clients and server and see the results. Jot down a few notes on what you did, but you do not have to go and get anywhere near the detail that I do.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 14 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group