Sandbox Shard Howto

Announcements and discussion regarding any projects related to Cyan Worlds' Plasma Engine including (but not limited to) CyanWorlds.com Engine, Drizzle, OfflineKI, PyPRP, and libHSPlasma.

Re: Sandbox Shard Howto

Postby Zrax » Sun Jul 31, 2011 1:22 pm

If you're going to trim it down to only what's minimally necessary, you might also bring up that Internal clients can use /LocalData to bypass the python.pak and SDL downloads, allowing you to use locally installed versions directly from the moul-scripts python27 branch (no plPythonPack necessary!). Branan just pointed that out to me recently, since I thought /LocalData only bypassed the file server downloads ;)
User avatar
Zrax
 
Posts: 206
Joined: Fri Sep 28, 2007 5:19 pm
Location: Waist-deep in a conecano

Re: Sandbox Shard Howto

Postby diafero » Sun Jul 31, 2011 2:35 pm

Cool, so the libHSPlasma part for encrypting the files could also be skipped. Well, I will first try to get this all working on my system, than I can write a tutorial ;-)
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2966
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Sandbox Shard Howto

Postby phoenix » Mon Aug 01, 2011 12:11 am

I got no problem with your idea for the tut, but I would add that becuase of the various needs, you may want to create a new wiki for it, so someone needing a full dataserver, can use the existing one, and someone who wants a minimalist shard can follow yours.

I will change the title to: == How to create a SANDBOX SHARD with Dataserving capability ==

Maybe your title could be something like; How to create a minimalist SANDBOX SHARD (up to you)

Let me know...

The vision for my shard is 100% original content, so dataserving is very important in what I intend to do without breaking compatability.
User avatar
phoenix
 
Posts: 88
Joined: Wed May 19, 2010 2:29 am

Re: Sandbox Shard Howto

Postby diafero » Mon Aug 01, 2011 3:25 am

A "sandbox" Shard sounds to me like something used locally only, by one person, for development. Such a Shard does not need a dataserver. I aim for all the original content as well, but it's enough if the client has it, the server does not need it ;-) .
Any more powerful Shard can build on top of a basic working minimalistic sandbox Shard, or however you want to call it.

Btw, regarding terminology: a "wiki" is the whole thing, all the articles hosted n the GoW site, everything below http://www.guildofwriters.com/wiki . What you are referring to is simply an article or page in the wiki.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2966
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Sandbox Shard Howto

Postby phoenix » Mon Aug 01, 2011 3:30 am

Cool. I got no reservations there.

A sandbox shard though can be dataserving or non-dataserving. The difference is in the application. Each applies to what you want.

I want a 100% original content shard, so dataserving is crucial, since it also lets me test with 2 users. I cannot do that if data is not served, also it helps me implement a simple technique for shard hopping with minimal code (maybe no code). More on this in another thread.

Both have merits and both are sandbox shards.
User avatar
phoenix
 
Posts: 88
Joined: Wed May 19, 2010 2:29 am

Re: Sandbox Shard Howto

Postby diafero » Mon Aug 01, 2011 3:47 am

I understand where you are coming from. "Sandbox" however in computer terms generally means something as isolated as possible from the rest of the world, so I assumed you meant a local-only Shard - which btw is very necessary as age builders need it to test their ages in MOULa. And since age builders rarely want to re-create the dataserver each time they change their age, they should be able to just drop it into the dat folder of their client and test their age. That's the desired goal for my tutorial. Since it seems you are aiming for something different, it hardly makes sense for me to edit your tutorial to achieve that, so I guess I need to look for a new name ;-) . I can use the parts that are still interesting though.

Once I am done, maybe you can make your tutorial shorter by using the "local isolated sandbox" as basis. To be honest, the wall of text that's your how-to is quite daunting, and I don't think it has to be that long. It's also unnecessary complicated occasionally.
For example where you are encrypting the authdata. It's not necessary to have the python files twice (and if I got you right, that's what you wrote), and one easy command can encrypt all the Python and SDL files at once (the age files don't need to be encrypted):
PlasmaCrypt droid -key 12...90 SDL/* Python/Python.pak
The shell you are using will automatically expand "SDL/*" to the names of all files in the SDL directory, and PlasmaCrypt will encrypt all the files it gets as parameter, not just the first one. Similar bash-scripting is possible for the actual dataserver - it should not be necessary to make any spreadsheets or long command lists manually, after all, we got a computer to let it to exactly that kind of boring and automated work ;-)

However I think dirtsand should encrypt these files in real-time, or maybe cache them, but definitely not require us to encrypt them ourselves. I will look into how this can be implement easiest.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2966
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Sandbox Shard Howto

Postby phoenix » Mon Aug 01, 2011 5:57 am

Diafero: I understand where you are coming from. "Sandbox" however in computer terms generally means something as isolated as possible from the rest of the world, so I assumed you meant a local-only Shard - which btw is very necessary as age builders need it to test their ages in MOULa. And since age builders rarely want to re-create the dataserver each time they change their age, they should be able to just drop it into the dat folder of their client and test their age. That's the desired goal for my tutorial. Since it seems you are aiming for something different, it hardly makes sense for me to edit your tutorial to achieve that, so I guess I need to look for a new name ;-) . I can use the parts that are still interesting though.


I reckon "Sandbox Shard with Dataserving" should be at step 2 then, and yours will come in at step 1. Your points are very valid and I agree in principle, because I also need to "drop and play" to test the ages I have built without rebuilding the dataserver each time.

Diafero: Once I am done, maybe you can make your tutorial shorter


Absolutely... although some things will need to be verified by Zrax and others, like the double copies of ages, sdl and python files that are in encrypted (authdata) and unencrypted (dirtsand root) format. When I tried running dirtsand for the first time I had already configured encrypted authdata in place and it bombed out with descriptor errors. But when I looked at the dirtsand.ini and tried the same encrypted authdata at those paths in dirtsand root, it bombed out as well. It was only when I made the paths in dirtsand.ini unencrypted that dirtsand came back with no errors... If you fix this let me know... I would love to simplify : )

Also the age and fni files must be encrypted, I have tested that, if you dont encrypt them they land up in your dat folder on your client unencrypted and CWE cant read them! Try to build a shard your way first and if it fails follow the wiki... I don't mind being wrong, that way I learn! ; )

The spreadsheets I agree with are cumbersome, but I tried running the commands recursively on win and nix. Since most the work is on win the only way was to create a batch file. The good thing about it though is for updating a dataserver is easy. When you change one file in the script and run it, it does not process those that have already been processed. The bad thing is that there is no recursive support in the win tools (I did try that first). The only command that I found had recursive support on folders was plPythonPack. Thats why I did what I did. On nix was another situation, I did not want to run (something like this - this is not a valid command below)...

Code: Select all
/opt/dirtsand/bin/dsData.sh /opt/dirtsand/data/*.* >> *.mfs


It just seemed too unpredictable to even try it and I am not a pro at bash, so this was a trade off. I also found I did not need to pack the fonts so I preferred an explicit list to solve this which could be updated easily if I made changes to one age.
User avatar
phoenix
 
Posts: 88
Joined: Wed May 19, 2010 2:29 am

Re: Sandbox Shard Howto

Postby phoenix » Mon Aug 01, 2011 9:28 am

Update: I am about to delete the entire Sandbox Shard and Client and start again using the wiki page as a guide . This is very important for testing that the wiki page is accurate and sound.

Later
User avatar
phoenix
 
Posts: 88
Joined: Wed May 19, 2010 2:29 am

Re: Sandbox Shard Howto

Postby diafero » Mon Aug 01, 2011 2:27 pm

Okay, I managed to get it all running with empty authdata and empty dataserver (just some 0-byte files have to be present). This however requires a fix for the UruLauncher which I still have to get ready for submission.

Also the age and fni files must be encrypted, I have tested that, if you dont encrypt them they land up in your dat folder on your client unencrypted and CWE cant read them! Try to build a shard your way first and if it fails follow the wiki... I don't mind being wrong, that way I learn! ; )
That's true, but there is no need to encrypt them yourself - I just copied the entire dat folder from my MOULa client, and works like a charm with CWE, after adding the unencrypted Python and SDL files from moul-scripts. And DirtSand gets the unencrypted age and SDL files from moul-scripts. Yes, some data ends up being there twice, since both server and client need it to operate: age and SDL files. But that's it.
So, for the whole setup I got here, neither PlasmaCrypt nor plPythonPack nor any bash magic was necessary.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2966
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Sandbox Shard Howto

Postby phoenix » Tue Aug 02, 2011 9:18 am

Hey Diafero

I notice you made some changes to the wiki page. I am surprized you changed your mind from what we agreed. You mentioned you'd be launching another wiki page that was basically Sandbox Shard without data serving. It would be cool if you could stick to an agreed plan. Its confusing for some folk when things change so radically.

The reason for the extra detail in that original wiki page was to give writers and builders a step by step so they could do some age testing while you guys (the dev team) get to your first version number. By now you have made it for programmers only, and that was not my intent.

The problem about abridging all your wiki's is that you exclude people from participating, and thats not too cool, when we are supposed to be imparting knowledge, and not keeping it to the select few.

At the moment the fact is this... with the tools having changed so dramatically, your "pull factor" for new fans gets harder.

Like I mentioned, it is fully realistic to write a few flavours of a sandbox shard, because at the end of the day, it is what the writer/builder wants. Just stick to what we agree and at least we will have options as a result.

I was looking forward to seeing this as a separate wiki page that I could test independantly!

Later

Phoenix
User avatar
phoenix
 
Posts: 88
Joined: Wed May 19, 2010 2:29 am

PreviousNext

Return to Plasma Development

Who is online

Users browsing this forum: Google [Bot] and 0 guests

cron