Step by step guide to update your server?

enkidou
Posts: 29
Joined: Mon Jan 20, 2014 8:42 am

Step by step guide to update your server?

Post by enkidou » Thu Feb 26, 2015 2:32 pm

Pretty new to this, as well as github. Can't seem to find where anyone has written a decent step by step guide to update your server after a SE update.

Up to this point before doing any kind of update I have:

1. Forked the darkstar repo and cloned my fork (not darkstar's) to my computer.
2. Made a branch.
3. Cloned my branch to my machine.
4. Made changes in my branch and pushed them to my branch with master still untouched.

Good so far?

Now that SE has had a recent update and the darkstar repo has changed, where do I go from here? How do I get darkstar's changes and add them to my server without overwriting any of the changes I have made?

Explain like I'm 5 if needed! I've never done any kind of github merge, pull, fetch, etc. I do have Tortoisegit installed.

Thanks in advance.

User avatar
demolish
Developer
Posts: 262
Joined: Thu Jul 26, 2012 7:12 am

Re: Step by step guide to update your server?

Post by demolish » Thu Feb 26, 2015 2:49 pm

pull from origin/master
rebuild server and reimport sql files
<Giblet[NewBrain]> kj with this first step would be fine on my shit
Click here for a guide on scripting missions.

enkidou
Posts: 29
Joined: Mon Jan 20, 2014 8:42 am

Re: Step by step guide to update your server?

Post by enkidou » Thu Feb 26, 2015 3:00 pm

demolish wrote:pull from origin/master
rebuild server and reimport sql files
So locally on my branch I would right click > TortoiseGit > Pull from remote/origin? And it will only pull the Darkstar changes?

Then go through the steps in Navicat executing the sql files one by one as you do when first setting up the server.

Then recompile connect, game, and search server?

Is that correct?

User avatar
demolish
Developer
Posts: 262
Joined: Thu Jul 26, 2012 7:12 am

Re: Step by step guide to update your server?

Post by demolish » Thu Feb 26, 2015 3:31 pm

only really need to rebuild lobby and game since search rarely gets updated - check the commit log before updating for any commits labeled with LOGIN/LOBBY for login server, SEARCH for search server, and CORE for game server so you know which server to recompile
as for the sql updates, rerun whichever table gets updated since the last time you pulled - check the commit log for DATABSE/SQL labels on any commits so you know which tables to reimport

you can batch import your sql tables, but i wouldn't recommend this unless you want to start fresh each time you update (this means losing your character/account data etc)
https://wiki.dspt.info/index.php/Buildi ... bat_script
<Giblet[NewBrain]> kj with this first step would be fine on my shit
Click here for a guide on scripting missions.

User avatar
kjLotus
Special Guest
Posts: 1813
Joined: Sun Jul 22, 2012 2:16 pm

Re: Step by step guide to update your server?

Post by kjLotus » Thu Feb 26, 2015 7:27 pm

first, you have to do this (just once):

https://help.github.com/articles/config ... or-a-fork/

then, you have to do this (every time you update):

https://help.github.com/articles/syncing-a-fork/

that pulls darkstar/master into your fork/master. then, since you dev/play on a branch, you have to do

git merge master

while on your branch and that brings all the changes from master into your branch. then you have to recompile, reimport sql files, etc

enkidou
Posts: 29
Joined: Mon Jan 20, 2014 8:42 am

Re: Step by step guide to update your server?

Post by enkidou » Fri Feb 27, 2015 10:17 am

Thanks a lot, guys. I'll give it a go tonight after work and see how I come out on the other end.

enkidou
Posts: 29
Joined: Mon Jan 20, 2014 8:42 am

Re: Step by step guide to update your server?

Post by enkidou » Sat Feb 28, 2015 9:23 am

kjLotus wrote:first, you have to do this (just once):

https://help.github.com/articles/config ... or-a-fork/
3. Specify a new remote upstream repository that will be synced with the fork.
git remote add upstream https ://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git


For that would I have:

git remote add upstream https ://github.com/DarkstarProject/darkstar.git

?

Delaide
Posts: 478
Joined: Sat Jun 14, 2014 8:58 am

Re: Step by step guide to update your server?

Post by Delaide » Sat Feb 28, 2015 11:34 am

I can tell you how I do my updates, but it is probably alot more cumbersome with unneeded stuff that what KJ is suggesting.

First, I keep my git pulls separate from my server folder.

1. Backup appropriate MySQL tables. Always do this before doing anything else. If you want a script, I have a .bat file posted here: viewtopic.php?f=16&t=2428 It does correctly pull the appropriate tables, but make sure you put in your user name and password.

2. Zip my current server. I have had to restore my old server once, so I always keep a backup of the last working one, so when I replace, I zip up my server build.

3. Delete my Darkstar folder. I have a folder called Final Fantasy XI Server. Yes, some people on the forums here think my setup is too much, but I just prefer where my stuff is. Inside that is the darkstar folder. It is the same when you do your git pulls unless you pay attention and back the folder up once when you first clone. Inside my Final Fantasy XI folder, I have a couple of my custom LUAs that I return once I have copied over my git stuff.

4. Copy everything except the git folder from my Server Update folder (Where all the git pulls go). I never touch files in this folder. It is simply for pulling the DSP changes.

5. Copy those backed up important mySQL tables from where I put them (I have a separate folder called charbackup that I keep the last backup in) to the Final Fantasy XI server\darkstar\sql folder. Then, when you run the bat file for SQL updates listed in the wiki, (the one named DSP_Import.bat), it will just automatically put all your character data, ah data, etc, back into the table. (****Also, please note, if you use my bat file from earlier to export your important tables, do not copy the dspdb.sql to the folder. This is just in case you mess something up so you can do a full database restore, along with the full server restore with the zipped file****)

6. Open Navicat and drop dspdb. Then, I add a new database, name it dspdb, and run the DSP_Import.bat file from the wiki. It will restore all my character data and update the other tables. By the way, when you do your git pulls, check the changes, see if one of your important tables has changed. You will get to know them quite well over time (Anything with char, Account, etc).

7. I open the conf files and change as needed, updating my user name and password for my mysql and adjusting the values as I want. I also change the settings to my preference under the scripts/globals folder. For me, personally, I also go to the spells folder in the scripts/globals, and turn death.lua and doom.lua into death.lua.bak and doom.lua.bak, because I don't want those spells to be used on me since I play my server solo.

8. I open the Final Fantasy XI server\darkstar\src\map\packets\auction_house.cpp and change to 9 slots, so I have an AH storage. I haven't used it in a while though because it is a pain to get things out, since you can't see everything beyond the first 7 items. I also open Final Fantasy XI server\darkstar\src\map\utils\blueutils.cpp and change the spell learn to 9 levels instead of 7, since I am still low enough that the skill difference would make it 9 levels below my current for me to learn.

9. I rebuild my servers. Personally, I just do it with another bat file.

10. I am done. I have my own program for starting my servers and Ashita, and it hides the console windows if I want.

Anyways, there is a step by step of what I do with my server. I only have minor customization though, so it doesn't take that long and I have automated alot of it. Maybe it will give you some ideas.

User avatar
kjLotus
Special Guest
Posts: 1813
Joined: Sun Jul 22, 2012 2:16 pm

Re: Step by step guide to update your server?

Post by kjLotus » Sat Feb 28, 2015 12:27 pm

enkidou wrote:
kjLotus wrote:first, you have to do this (just once):

https://help.github.com/articles/config ... or-a-fork/
3. Specify a new remote upstream repository that will be synced with the fork.
git remote add upstream https ://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git


For that would I have:

git remote add upstream https ://github.com/DarkstarProject/darkstar.git

?
that's correct: upstream is so you can get the updates from us to your fork

enkidou
Posts: 29
Joined: Mon Jan 20, 2014 8:42 am

Re: Step by step guide to update your server?

Post by enkidou » Sun Mar 01, 2015 1:24 pm

Ok here is my current issue. I will explain what I did in order.

1. git remote add upstream https ://github.com/DarkstarProject/darkstar.git

Added in the darkstar fetch and push without issue.

2. git fetch upstream

Seemed to find the new objects as well as creating the upstream/NeoDynamis and upstream/master branches.

3. git merge upstream/master
error: Your local changes to the following files would be overwritten by merge:
scripts/globals/mobskills/Snatch_Morsel.lua
scripts/globals/settings.lua
scripts/globals/spells/aisha_ichi.lua
scripts/globals/spells/battlefield_elegy.lua
scripts/globals/spells/bindga.lua
scripts/globals/spells/blind_ii.lua
scripts/globals/spells/blindga.lua
scripts/globals/spells/bluemagic/Yawn.lua
scripts/globals/spells/bluemagic/awful_eye.lua
scripts/globals/spells/bluemagic/chaotic_eye.lua
scripts/globals/spells/bluemagic/cimicine_discharge.lua
scripts/globals/spells/bluemagic/cold_wave.lua
scripts/globals/spells/bluemagic/sheep_song.lua
scripts/globals/spells/bluemagic/soporific.lua
scripts/globals/spells/break.lua
scripts/globals/spells/breakga.lua
scripts/globals/spells/carnage_elegy.lua
scripts/globals/spells/curse.lua
scripts/globals/spells/death.lua
scripts/globals/spells/dokumori_ichi.lua
scripts/globals/spells/dokumori_ni.lua
scripts/globals/spells/dokumori_san.lua
scripts/globals/spells/foe_lullaby_ii.lua
scripts/globals/spells/foe_requiem.lua
scripts/globals/spells/foe_requiem_ii.lua
scripts/globals/spells/foe_requiem_iii.lua
scripts/globals/spells/foe_requiem_iv.lua
scripts/globals/spells/foe_requiem_v.lua
scripts/globals/spells/foe_requiem_vi.lua
scripts/globals/spells/foe_requiem_vii.lua
scripts/globals/spells/graviga.lua
scripts/globals/spells/gravity.lua
scripts/globals/spells/gravity_ii.lua
scripts/globals/spells/hojo_san.lua
scripts/globals/spells/horde_lullaby_ii.lua
scripts/globals/spells/jubaku_ichi.lua
scripts/globals/spells/jubaku_ni.lua
scripts/globals/spells/jubaku_san.lua
scripts/globals/spells/kurayami_san.lua
scripts/globals/spells/massacre_elegy.lua
scripts/globals/spells/paralyga.lua
scripts/globals/spells/paralyze_ii.lua
scripts/globals/spells/poison_ii.lua
scripts/globals/spells/poison_iii.lua
scripts/globals/spells/poisonga.lua
scripts/globals/spells/poisonga_ii.lua
scripts/globals/spells/poisonga_iii.lua
scripts/globals/spells/silence.lua
scripts/globals/spells/silencega.lua
scripts/globals/spells/slow_ii.lua
scripts/globals/spells/slowga.lua
scripts/globals/spells/virus.lua
scripts/globals/spells/yurin_ichi.lua
scripts/globals/status.lua
scripts/globals/weaponskills/wildfire.lua
scripts/zones/AlTaieu/mobs/Jailer_of_Love.lua
scripts/zones/Al_Zahbi/npcs/Dahaaba.lua
scripts/zones/Arrapago_Reef/mobs/Medusa.lua
scripts/zones/Bastok-Jeuno_Airship/TextIDs.lua
scripts/zones/Bastok_Markets/TextIDs.lua
scripts/zones/Bastok_Mines/TextIDs.lua
scripts/zones/Bibiki_Bay/TextIDs.lua
scripts/zones/Buburimu_Peninsula/TextIDs.lua
scripts/zones/Caedarva_Mire/TextIDs.lua
scripts/zones/Caedarva_Mire/mobs/Aynu-Kaysey.lua
scripts/zones/Caedarva_Mire/mobs/Khimaira.lua
scripts/zones/Castle_Oztroja/mobs/Mee_Deggi_the_Punisher.lua
scripts/zones/Castle_Oztroja/mobs/Moo_Ouzi_the_Swiftblade.lua
scripts/zones/Castle_Oztroja/mobs/Quu_Domi_the_Gallant.lua
scripts/zones/Castle_Oztroja/mobs/Tzee_Xicu_the_Manifest.lua
scripts/zones/Castle_Oztroja/mobs/Yagudo_Avatar.lua
scripts/zones/Crawlers_Nest/TextIDs.lua
scripts/zones/Crawlers_Nest/mobs/Awd_Goggie.lua
scripts/zones/Dangruf_Wadi/TextIDs.lua
scripts/zones/East_Ronfaure/TextIDs.lua
scripts/zones/Garlaige_Citadel/TextIDs.lua
scripts/zones/Gusgen_Mines/TextIDs.lua
scripts/zones/Halvung/mobs/Gurfurlur_the_Menacing.lua
scripts/zones/Ifrits_Cauldron/mobs/Ash_Dragon.lua
scripts/zones/Kazham-Jeuno_Airship/TextIDs.lua
scripts/zones/Lebros_Cavern/mobs/Ranch_Wamouracampa.lua
scripts/zones/Lower_Jeuno/TextIDs.lua
scripts/zones/Mamook/mobs/Gulool_Ja_Ja.lua
scripts/zones/Maze_of_Shakhrami/TextIDs.lua
scripts/zones/Metalworks/TextIDs.lua
scripts/zones/Monastic_Cavern/mobs/Bugaboo.lua
scripts/zones/Monastic_Cavern/mobs/Overlord_Bakgodek.lua
scripts/zones/Mount_Zhayolm/mobs/Cerberus.lua
scripts/zones/Northern_San_dOria/TextIDs.lua
scripts/zones/Ordelles_Caves/TextIDs.lua
scripts/zones/Outer_Horutoto_Ruins/TextIDs.lua
scripts/zones/Promyvion-Vahzl/mobs/Deviator.lua
scripts/zones/Promyvion-Vahzl/mobs/Provoker.lua
Updating a59b10f..fc79fdf
script
error: The following untracked working tree files would be overwritten by merge:
scripts/globals/mobskills/Gravity_Wheel.lua
scripts/globals/mobskills/Microquake.lua
scripts/globals/mobskills/Mind_Wall.lua
scripts/globals/mobskills/Percussive_Foin.lua
scripts/globals/mobskills/Psychomancy.lua
scripts/globals/mobskills/Scission_Thrust.lua
scripts/globals/mobskills/Sonic_Blade.lua
scripts/globals/mobskills/Transmogrification.lua
scripts/globals/mobskills/Tremorous_Tread.lua
scripts/globals/mobskills/Velocious_Blade.lua
Please move or remove them before you can merge.
Aborting
Did I miss a step there?

Post Reply