Friday, November 20, 2009

No More MyProxy! for a while.

HOLD! Don't scream in panic!!! It's not forever...

Baby Borg is coming between now and next weekend, so I won't be doing any work on the proxy between now and around the first weeks of december.

Yesterday I went online and tested each one of the v2.14 commands, and everything seemed to be working fine. At least from the "beholder's eye" perspective.
I have tested the AO, exporting assets, shape backup, demo shopping, asset import, texture download, and so on.

At some point I was able to replicate an issue where I was trying to use /load to load assets I've had saved, but those assets were not showing up on the inventory.
This happened on a crowded and laggy place, so I think it is related to the speed of the connection.
I have added some flags to the code and noticed that the proxy does exactly what it is supposed to do: sends the packets with the asset towards the server. But the assets just won't show up at the inventory.
As I could see that the MyProxy code was behaving as expected, I then believe this was being caused by the internal LibOpenMetaverse code losing track of the packets at some point.
April Swift had a similar issue even when using the LibOpenMetaverse proxy, so it(unfortunately) may not be related to MyProxy code.

Here's what I've used as a workaround to the problem, which may or may not work for you:

1 - Create and use an avatar that has absolutely no attachments. You will look like a complete noob (which is fun by the way) but you will also not generate any overhead to your viewer, making things become a bit faster. Remember, the proxy and the viewer are running on the same CPU, so every load that you can take out of it would help. I was amazed by the difference of performance I've got between loading my Ubber-detailed-full-of-attached-weapons-and-animated-textures avatar and the one I created with absolutely nothing attached.

2 - Do the things in batch. Instead of using /store directly at the crowded (laggy) place, just use /save instead, or /export or /exportall, teleport to an empty (I mean REALLY empty) sim, disconnect (close BOTH the viewer and the proxy) and then reconnect, so you will be freshly connected to a fast sim without anyone around (no lag?). Now you use /load and it should work. Worked for me. Be aware that, if the number of prims on the parcel has been reached, you won't be able to import any objects.

3 - Try to speed up your internet connection as much as possible, for proxies there are no "retries", a lost packet is lost forever, finito, caput, so try turning off anything that would be consuming bandwidth while you're using the proxy. Listening to internat radio, seeding some bittorrent or downloading the latest episode of Heroes while trying to use MyProxy is a big No-No-No.

I have tried to tamper with the proxy as much as possible, trying to break it, and it didn't break for me, but I can't still guarantee it is perfect, as some people is still experiencing problems.
So I would ask you guys to post here who is having problems, and who is not having, then let me know the speed of your internet connection, and the capacity (cpu/gpu power) of your computers.
The only way I think it will be possible to fix these problems is to establish some pattern, find some behavior that would be triggering the issues.

Cheers,
The Borg.

Ps.: Resistance is Futile

Wednesday, November 18, 2009

OMG ... another version??? v2.14 is out!

Hey Folks,

Here you go.
Version 2.14 can be downloaded from here.
This version is a bug-fix release only, built against the latest LibOpenMetaverse code (3121) and also with some improvements to the locking code, (trying) to prevent the crash reported by Freeballer from occurring.
I hope this version will be more stable to you all. Please let me know about your experiences with this one.

Please make your comments and new support requests on this post now.

Cheers,
The Borg.

Tuesday, November 17, 2009

Neil has released NeilLife v6.2

... and he is pretty pissed.

Go grab his viewer on http://neillife-lol.blogspot.com/, it rocks.

Cheers,
The Borg.

Friday, November 13, 2009

v2.13 is out... YAY!!!

Hi Folks,

I have done a check troughout the code looking for parts which could trigger a NullException, and crash the proxy.
I have also added some checks to prevent typos from creating problems too.
So as a result, v2.13 is out. Please go get it at: http://www.4shared.com/file/151511706/1434dd55/MyProxy213.html

This is basically a bug-fix version, so everyone MUST forget the old versions and get this.
I am releasing this with source code as well.

Naughty and April, please give it a try and let me know how it goes.

If you still encounter issues, please try to give me any hint you can think of, so I can try to find where the problem is. As I said before: Devil is in the details.

Cheers,
The Borg.

Thursday, November 12, 2009

HELP ME!!!

Help me help you.

If you encounter any issue with version 2.12 of MyProxy, please try to collect every detail of what happened, maybe even a detail that you think may not be important can be the difference between me being able to solve the problem or not.
If you post "I tried to do something and I got an error", there's no chance I can help, because I don't know what is this "something" and what was the "error"... so there's no place for me to start looking at.
Also, if you post "I tried /store and it din't work", still didn't help, because I still don't have any clue of what you were trying to store... and so on.

So, here's the deal: if you ever encounter an issue, try to collect as much information as possible. if the issue is reproductible, give me the steps to reproduce. every detail counts.

I don't have much time to deal with coding MyProxy, and when baby Borg hatches I will have even less time (or mama Borg will kick my ass big time), so when I look into something to fix, I cannot go guessing what may be the issue. I must go right on the spot.

So, help me help you.

BTW: I develop MyProxy using C# on a Windows 7 Ultimate (32 bits) laptop. I test it using the latest regular LL viewer, latest Emerald and latest NeilLife. Anything close to this should work for you as well.

Cheers,
The Borg.

PS.: Next version I will detect who's wearing pink pants and who's not wearing pants at all ... (just kidding Neil)

Monday, November 9, 2009

Resistance is Futile

Yo Folks,

No news over the weekend, other than just lurking around the metaverse and "assimilating" people.
I've seen some news about "cloth protection" being added to the regular viewer ... some more people complaining about the "content theft" or whatever it is ... some Emerald people (former rippers, right?) complaining about "NeilLife" (which BTW I prefer over any other viewer, not just for the ripping, but for the detection avoidance, which is cool).

BTW, this comment from Emerald people made me think: at some point they say they "lost patience" with Neil, and that even if he starts to comply with the open-source terms, he would still be considered a bad-guy.
Well, as far as I know, they also wrote ripping and proxy stuff at some point. So, when did they became good-guys? When they complied with the open-source terms? Then why can't Neil do the same? ... well ... sounds a bit hypocrite to me.
Anyone who looks at the Emerald source code will see that the ripping tools are there, just commented out, dormant. So here's the apple tree I created just for you, but if you eat one, you're banned from paradise ... yet they're so tempting, lol.

Have a nice week you all ... new baby borg is expected to hatch this month, so I may disappear from the blogging scene for a while when he does.

Cheers,
The Borg.

Saturday, November 7, 2009

Source code ... YAY!!!

Hey Folks,

For those willing to compile this thing on their own, or build a linux version, I am releasing 2.12 WITH the source code.
The link to download it is here.
Please be aware that:
1 - I will not be able to provide support to questions like "I can't compile this on my own, what is wrong?". I can offer guidance to help find the answers, but I can't spend time supporting builders.
2 - You will have to move openjpeg-dotnet.dll manually from LibOpenMV folder to the release (or debug) folders, in order to exporting of textures to work, or it will just fail silently. This dll is included on this release though.
3 - In order to compile MyProxy from scratch successfully, you have to do a minor change to LibOpenMV and compile it too (unless you use the DLLs I am providing as references). This proxy will NOT compile with a "vanilla" build of LibOpenMV. I explain the change below.
4 - If you do changes to the code, implement more features or fix stuff, you MUST share your changes with the community, and there's a good chance that I will implement the changes on the original code. This project is intended to be a FREE-FOR-ALL project, so if you plan to create a closed version of this proxy, you're still welcome, but you will be on your own, so please name it something else and break from the original source code branch.
5 - If you use MyProxy to crate a new proxy for yourself or any other proxy that will not be shared IN FULL with the community, please don't name it MyProxy, MyProxy-XL, MyProxy-better-than-what-mockba-did, or something like that. I would not like to have MyProxy or my name related to a project that will not be shared IN FULL with the community.
6 - I will provide support only to the new features that I add to the original source code, if someone implements a feature and decides not to share it with the community, or have it on the original code, this person is the one that should (or not) provide support to it.
7 - Anyone who compiles MyProxy and sell it will go to hell.

Changing LibOpenMV to compile MyProxy:
Find the program GridProxyLoader.cs and look for the following line inside it:

private Dictionary<string, commandDelegate> commandDelegates = new Dictionary(<string, commandDelegate>);

Just change "private" to "public" to expose this structure, and recompile LibOpenMV, that's it. You can now use your freshly built LibOpenMV dlls to compile MyProxy.

Well... I think I covered pretty much everything.

Have phun (as usual),
The Borg.

Friday, November 6, 2009

Backup of skins will cease working at some point

Dear Folks,

I have just been informed by one of my Linden friends that they're working on implementing "Cloth Protection" on an upcoming version of their viewer. So people will be sending out only the "baked" versions of their skins.
This thing already exists on Greenlife (Emerald) and it helps preventing contect theft.
With this thing being standard, people will tend to move more and more towards using it, so whenever you use the "/save" or "/store" commands for skins, you will end up either with the "baked" version, if you use the [baked] parameter, or with a default texture (or nothing) if you don't use it.
So, if you plan making backup of your (or any other) skins, I recommend doing it as soon as you can.
I still don't know how far the other clothing or wearables layers are going to be affected, but at least the backup of shapes should not be affected at all. Also the backup of attachments should not be affected.
I'll be able to find out by the time they release their new viewer, then I'll let you guys know.

Well ... we had our fun ... lol.

Cheers,
The Borg.

Wednesday, November 4, 2009

New version 2.11 is out

Hell-o Folks,

Well ... here it goes: http://www.4shared.com/file/146564743/8cc1feec/MyProxy211.html
I have just finished v2.11, with a major modification of the windows.forms infrastructure.
I have also exposed the "download" command, which allows to download assets from the server.
This command existed on v2.10, but it was broken due to the fact that the packets may arrive out of order.
I have also fixed a few bugs, by resolving some unhandled exceptions, so this version should be more stable than v2.10 as well.
However, think about this new version as a major rework, so new bugs may exist.
If you guys find any issues, please report them to me with steps to reproduce, so I can find out how to fix it.

Cheers,
The Borg.

What? no updates since 2.10?

Hell-o folks!

I've been updating the proxy almost daily until we got to 2.10, then there have been silence.
So, in case you're wondering if there will be a new version, yes there will be one. I am working right now on 2.11.
However, there will be no significantly new features. I am just re-re-rewriting the windows part, to turn it into a real windows-forms based application. Not the fancy hack I used to give you the windows based console.
This will take some time, so I won't make E.T.A. promises.
The idea is to have a real menu bar, and a command line, so you will be able to use the features from the proxy itself, instead of having to type commands on the chat console.

Cheers,
The Borg.

Tuesday, November 3, 2009