Build #121 - Skydiving client?

Discussions About CyanWorlds.com Engine Client & Plugin
User avatar
Annabelle
Member
Posts: 118
Joined: Thu Dec 22, 2011 4:40 am

Build #121 - Skydiving client?

Post by Annabelle »

Hello,

You are all aware of this topic on MOULa forum... http://mystonline.com/forums/viewtopic. ... 3&start=15

Mac_Fife says to contact the guy behind the last Skydiving Client. I remember the last changes were brought in by Christian Walther way back in 20something, time flies!!! Christian, can you please help explorers like me that would prefer dying than suffer the normal client on MOULa ? Thank you :mrgreen:

Here's the simple recipe written by Mac_Fife
Any "non-standard" client that does not include the latest client code related the KI enhancements in the new build will have problems. If you want use these clients then you really need to petition whoeverI DO! built them to update their code. This is one of those relatively rare cases where an update requires changes to both the scripts That's what C.Walther should do (which everyone gets automatically) and the client (which only the standard external client will get automatically)
Annabelle-Sophie KI 4247 & Annabelle KI 5152 both members of DRC (2) :) & the lovable Grr KI 106414 sole member of Grr's Hood
User avatar
JWPlatt
Member
Posts: 1137
Joined: Sun Dec 07, 2008 7:32 pm
Location: Everywhere, all at once

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by JWPlatt »

Annabelle wrote: Sat Jun 10, 2017 12:25 am... please help explorers like me that would prefer dying than suffer the normal client on MOULa ?
Hermione Granger wrote:Or worse - expelled!
Perfect speed is being there.
Christian Walther
Member
Posts: 317
Joined: Sat Dec 13, 2008 10:54 am

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by Christian Walther »

I don’t recall having anything to do with the skydiver client. I don’t even remember who made it, possibly Lyrositor? Annabelle, would you maybe have a link to some record of what you remember me doing?

I can see whether I can find its source code and try to update it if I have time, but no promises.
User avatar
Annabelle
Member
Posts: 118
Joined: Thu Dec 22, 2011 4:40 am

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by Annabelle »

Sorry Christian! I might have be dreaming of that... Nevermind...I don't want to impose something on you.


If someone is willing to do the changes, here's what Lyrositor did back in 2013:

1) Disable Patching
https://bitbucket.org/Lyrositor/cwe-ou/ ... =skydiving

2) Remove nasty things aka physics :lol:
https://bitbucket.org/Lyrositor/cwe-ou/ ... =skydiving

3) Make the client icon look nice!
https://bitbucket.org/Lyrositor/cwe-ou/ ... =skydiving

4) Make sure it is recognize as an external client
https://bitbucket.org/Lyrositor/cwe-ou/ ... =skydiving

Now, I might be interpreting the steps... I'm talking like I know the stuff which I don't...obviously! ;)

Anytime on these steps, you can backtrack to the tree of commits where I might have been confused as for the level of involvement by Christian... Christian looked like the last guy on the tree for the normal client submitted to Cyan. Then Lyrositor added some commits afterward (looking at the dates of each commit).

Thank you in advance for whoever will grind their teeth on those steps!
Annabelle-Sophie KI 4247 & Annabelle KI 5152 both members of DRC (2) :) & the lovable Grr KI 106414 sole member of Grr's Hood
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by Mac_Fife »

All the Skydiver/MarkerEditor specific commits in that repo are Lyrositor's. Everything before that, up to and including Christian's last commit is "standard" client stuff.
Non-standard clients need someone to maintain them; it's not in OU's remit (nor Cyan, nor I suspect H'uru) to maintain compatibility with clients they didn't build. That said, no-one has intentionally introduced changes knowing that they'd break third-party clients, but even in the best case scenario, those clients will need to be rebuilt periodically, if for no other reason than to bump the reported build ID to stop the servers rejecting the client (e.g. if new content gets added - I'm not clear on exactly what circumstances will cause Cyan to update the ID; the last couple haven't changed it for some reason).
Mac_Fife
OpenUru.org wiki wrangler
User avatar
Annabelle
Member
Posts: 118
Joined: Thu Dec 22, 2011 4:40 am

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by Annabelle »

Hello,

it might sound a bit weird but... can someone like myself be able to do the changes?

I mean I'm not a complete idiot, I can manipulate codes as long as I have some directions.

What do I need? They are announcing a "beautiful" rainy & cold first summer weekend. I'm figuring out that I could maybe use that wonderful time to something of my interest.
1) a decompiler: which one should I be using?
2) insert the code in the appropriate sections. Since MOULa code is in python, I suspect I can use simply PlasmaShop 3.0 Beta (Build 167), right?
3) a compiler: is decompilation/compilation done on the same application or do I need to use another one?
4) maybe you will want me to subscribe to bitbucket to make sure I note down every steps I made & review my nifty additions (principle of open source)

Now if you say, please do not attempt that, I won't.

But looking at this link here, it doesn't look too overwhelming... (taken from latest Mac_Fife's Post on MOULa Forum board in Technical Discussion subsection)
https://bitbucket.org/OpenUru_org/mouls ... n-the/diff
Annabelle-Sophie KI 4247 & Annabelle KI 5152 both members of DRC (2) :) & the lovable Grr KI 106414 sole member of Grr's Hood
Tai'lahr
Member
Posts: 235
Joined: Sat Dec 06, 2008 6:33 pm

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by Tai'lahr »

Annabelle, I can't answer your questions, but I do want to encourage you to pursue this. I don't care about the end result, just the experience and knowledge you could gain in the process. It appears you already know the right questions to ask, so I think that indicates a good chance that you could be successful.

If you don't see another reply to your post here, I think it's safe to assume that some people are on the fence about this - not feeling it's okay to encourage an alternate client, but also not wanting to discourage you from giving it a shot. So, if you don't get the answers you need here, please go to the GoW. It might even be worth a shot to IM Lyro with your questions. (You might want to make it clear that you just need to know how to get started and don't expect him to walk you through the process.)

And if you can't find help in the community, well... Google. ;) I believe you have the tenacity to find a way to make this happen. Good luck!
User avatar
rarified
Member
Posts: 1061
Joined: Tue Dec 16, 2008 10:48 pm
Location: Colorado, US

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by rarified »

Annabelle,

OpenUru was founded to make it easier to build and test software changes in situations just like your. You would like to work on the changes to the game source code, but it is daunting to put together your own environment to build it. So let me extend an invitation to use the OU Foundry to build what client code you have.

How it would work: You would create your own source code repository on a public site (such as GitHub or BitBucket, or even on a host of your own if it is public). I would create a "build job" for our automated build system that would pull a copy of your source code from your repository onto the Foundry, run the compilers and other tools to build a client, and then it would send an email message back to you on how to retrieve the assembled build files. The automated system would periodically check your repository to see if you had made any changes, and if it noticed any it would retrieve those changes and create a new build.

These builds would by default be constructed using the same tools use to build the Minkata and MOULa clients, and would have access to the libraries needed for those clients.

I originally intended this offering to be used by people running their own shards. However I see no reason it cannot be used for a client that will access MOULa as long as there is no history of abuse (such as trojans or features intended to be malicious). The build system does keep archives of everything built so it will be possible to do forensics if problems are encountered.

I would remind you that when you distribute a non-standard client that you have an obligation under the GPL licencing to make the exact source code available to everyone, and that you should make it clear to anyone with that client (perhaps by changing the notification banner) that it is a non-standard client. You also should point out that as a non-standard client it will not be supported by Cyan.

Additionally, I'd be happy to set up a JIRA project for your client for tracking bugs. I know some in the community are not impressed with JIRA (it's user interface had been very arcane but it is getting better, and if I get time to update it to the latest, I think it will rival any of the other open source bug trackers available in it's ease of use).

I'll stop there and see what your thoughts and interests are.
_R
One of the OpenUru toolsmiths... a bookbinder.
User avatar
Mac_Fife
Member
Posts: 1239
Joined: Fri Dec 19, 2008 12:38 am
Location: Scotland
Contact:

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by Mac_Fife »

Annabelle wrote: Fri Jun 23, 2017 7:28 pm2) insert the code in the appropriate sections. Since MOULa code is in python, I suspect I can use simply PlasmaShop 3.0 Beta (Build 167), right?
The client is actually in C/C++ but uses scripts in Python to define how a lot of things in the game behave, like the KI. C/C++ needs to be compiled, Python doesn't (though I think it does need to be packaged for MOULa). The problem with the Skydiving client as it stands is that the Python (which gets downloaded from the servers every time you run the game) has been updated and now has a dependency on a change also being applied to the C/C++ in the client for the KI to work properly. The PR highlighted in my post on the MO:UL forums should pretty much detail exactly what code changes need to be made and where (I haven't looked the PR myself in any detail so I don't how big a task it is, but probably not huge). There is an assumption though that no other PRs that may have gone before will have altered the code in or around the same areas (and that's what I meant about it becoming

As rarified noted, OU has tools available to compile clients if the code can be fetched from a public repository, e.g. on GitHub or BitBucket. You'd probably need to start out by creating your own repository on one of those services and then making your own copy (a "fork") of Lyrositor's repository (there are plenty of folks around who could walk you through that). You'd then attempt to apply the patch detailed in the PR (and probably update the build ID so that the servers will accept it), and arrange to get it built - using OU's build engine means that you don't need to worry about trying to find the "right" compiler and libraries (which can be a pain). Then test it.

That's probably the shortest way, but there are people who would argue (and I wouldn't disagree) that a more correct and supportable way would be to take a fork of the current MOULa client (with all it's other fixes and improvements) and repeat Lyros' steps to convert it into a Skydiving client. That's probably more work and may not be possible as an exact step-by-step repeat of what Lyros did, since the client has numerous other changes in it now that might affect how/where those changes need to be applied.
Mac_Fife
OpenUru.org wiki wrangler
User avatar
Hoikas
Member
Posts: 344
Joined: Fri Jun 03, 2011 8:38 pm

Re: Minkata Shard Update May 15, 2017 -- Build #121

Post by Hoikas »

Mac_Fife wrote: Sun Jun 25, 2017 6:54 pmbut there are people who would argue (and I wouldn't disagree) that a more correct and supportable way would be to take a fork of the current MOULa client (with all it's other fixes and improvements) and repeat Lyros' steps to convert it into a Skydiving client. That's probably more work and may not be possible as an exact step-by-step repeat of what Lyros did, since the client has numerous other changes in it now that might affect how/where those changes need to be applied.
I think this would be the most future proof way, as it will become more difficult along the line to cherry pick breaking changes over one by one. What if a picked feature depends on an unpicked feature, after all? No, it is best to fork the current MOULa base and pick Lyrositor's commits over. Of course, if the SkyDiving client is in mercurial, then really all of that is unneeded. You'll just need to fetch the skydiving branch, merge the tip, then commit the result.

I'd do it myself if it weren't for time constraints and personal objections about the need for this special client.
Image
Post Reply

Return to “CyanWorlds.com Engine - Client & Plugin”