UnoffLandz / unoff-landz

open source server for the eternal lands/other life client
9 stars 4 forks source link

Pulling the client code into unofflandz repository ? #58

Closed nemerle closed 9 years ago

nemerle commented 9 years ago

I think we can use the following 'target' repository layout

unoff-landz:
  /ProjectRootDirec
    Server/
    Client/
    Common/
unoff-base-data:
  /BasicClientData
    ...
  /BasicServerData
    ...

Also, what client code version is unoff targeting? latest upstream, some other specific version ?

themuntdregger commented 9 years ago

Nice proposal nemerle.

The suggested repository layout seems very sensible and provides a logical and comprehensive structure for us to progress with creating other elements of the project, particularly our own client and binary data elements for both the client and server. However, i'm pretty much a novice with GIT, so i'd possibly need a little help in understanding how to push commits to each branch. Otherwise, I think we should go with your suggestion.

At the moment, the server targets the Other Life client as we have good relations with the Owner (Steven Wilcoxon) and the community of that game. We also have some common development goals and have shared code with them. Other Life also have a community development group who want to use our server to directly upload, test and develop maps. We are looking to facilitate this through a web based control panel which then has hooks to the server. In return, we get a lot of testing of our server, plus assistance with map building and development of open-source art assets.

However, it would be cool to create our own fork of the Other Life client codebase, if only for the purposes of protecting against a development in their client breaking compatibility with their server.

What are your thoughts ?

nemerle commented 9 years ago

To be slightly more clear about my proposed layout, unoff-landz and unoff-base-data are two 'independent' repositories under the UnoffLandz organization.

As for committing, things should be easy ( at the start at least ), just checkout both repositories, and work on them as if they were independent. Now later things can get a bit more interesting and we could use git 'submodule' support to link specific unoff-base-data revision to specific unoff-landz revision, so when anyone 'checkout's any specific unoff-landz version, they'll get a proper base-data to go with it.

...if only for the purposes of protecting against a development in their client breaking compatibility with their server

Thousand times this - also, I'd love to extract packet serialization as a 'Common' library for both server and client. That way we'll get rid of the mess the client's packet processing is, and can be sure that both client and server are using the same packet formats. As an added bonus, such a library should help anyone trying to write their own tools/bots ?

themuntdregger commented 9 years ago

Ok, lets do this.

themuntdregger commented 9 years ago

Hi Artur,

I've just seen the new repository layout. Looks awesome. Thanks so much for doing it

On 14 April 2015 at 22:53, Artur K. notifications@github.com wrote:

Closed #58 https://github.com/UnoffLandz/unoff-landz/issues/58 via 8791251 https://github.com/UnoffLandz/unoff-landz/commit/879125143dc3bfdf13b41a9ded4a535def42738c .

— Reply to this email directly or view it on GitHub https://github.com/UnoffLandz/unoff-landz/issues/58#event-281446681.