Skip to content
Stefan A. Brannfjell edited this page Mar 15, 2020 · 4 revisions

Welcome to Nekiro's fork of TFS!

This is a place where development pull requests are made for the main repository, as well as protocol downgraded versions. The master branch is a direct sync of otland/forgottenserver, so you need to make sure you select the correct branch for what you want, wether that be testing PR's or using one of the protocol downgraded versions.

Branch: 8.6-downgrade

Branch: 7.72-downgrade

The ordinary WIKI applies here on how to use the server:

https://github.com/otland/forgottenserver/wiki


For our protocol downgraded branches, we have enabled issue tracking in this fork. If you have any issues that are any protocol related issues, post them there. For general TFS bugs, use the issue tracking system on the otland/master repository.

How to collaborate on a branch in a separate fork from otland master:

First of all, you should fork the main repository: https://github.com/otland/forgottenserver

This will create your own fork, your own development space for the TFS repository. Like this: https://github.com/Znote/forgottenserver

You can then add this repository as a remote:

git remote add nekiro https://github.com/nekiro/forgottenserver.git

In the above command, I add nekiro/forgottenserver.git into my own git environment, and I call this fork "nekiro" for easy access.

To see which remote repositories you have added:

git remote -v

Which for me (Znote) gives this list:

Leo32   https://github.com/Leo32onGIT/forgottenserver.git (fetch)
Leo32   https://github.com/Leo32onGIT/forgottenserver.git (push)
infernumx       https://github.com/infernumx/forgottenserver.git (fetch)
infernumx       https://github.com/infernumx/forgottenserver.git (push)
nekiro  https://github.com/nekiro/forgottenserver.git (fetch)
nekiro  https://github.com/nekiro/forgottenserver.git (push)
olrios  https://github.com/Olrios/otland-tfs-fork.git (fetch)
olrios  https://github.com/Olrios/otland-tfs-fork.git (push)
origin  https://github.com/Znote/forgottenserver.git (fetch)
origin  https://github.com/Znote/forgottenserver.git (push)
otland  https://github.com/otland/forgottenserver.git (fetch)
otland  https://github.com/otland/forgottenserver.git (push)

As you see, I have added lots of different forks to my git network. origin is my own fork (znote/forgottenserver), nekiro is this. I have also added otland as a remote so I can easy sync up my own fork with otland.

Now to get the branches available to us from Nekiro, we do:

git fetch nekiro

This works because we have previously added nekiro using the git remote add nekiro command.

After we know which branches are available, we can do git checkout to enter those files.

git checkout nekiro/7.72-downgrade

And now my files are switched over from my own fork, to nekiros protocol downgraded files.

Lets say we want to do changes, and submit a pull request back to this branch? First, do the above command, make sure we are currently in the branch with the files we want to modify.

git checkout nekiro/7.72-downgrade

Make sure we also are at the latest version

git pull nekiro 7.72-downgrade

Notice in the above command, I now have a [space] between nekiro and branch name instead of a forward slash[/]. Git is weird sometimes.

Now using these files, we want to clone them into our own branch, lets call our branch 7.72-spells-fix because we want to let everyone know this is a patch for the 7.72 protocol, and we want to fix some spells there.

git checkout -b 7.72-spells-fix

And lets do git status to verify that all is working smoothly. And that we are on the correct branch.

git status

Do your file edits, and add them to your commit:

git add data/spells/spells.xml

Give your commit a meaningful name toward what it does:

git commit -m '7.72 Fix conjuring spell names and some rune effects.'

Now, we have our own clone of Nekiro's protocol downgraded branch (that we call 7.72-spells-fix), and we have our very own commit added to it. Its time to push it.

Note that when we push the branch, we should push it to our own repository (called origin by default, seen with git remote -v), we can then use github to create the pull request itself.

git push -u origin 7.72-spells-fix

And to reset things, git checkout master should get us back to things. And your good to go.

References:

GIST history log of executed commands: https://gist.github.com/Znote/0a9c5ebfddd964dc26275e3d9b2670b0

Samples based on pull request: https://github.com/nekiro/forgottenserver/pull/32