Step by step guide to update your server?
Step by step guide to update your server?
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.
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.
Re: Step by step guide to update your server?
pull from origin/master
rebuild server and reimport sql files
rebuild server and reimport sql files
Click here for a guide on scripting missions.<Giblet[NewBrain]> kj with this first step would be fine on my shit
Re: Step by step guide to update your server?
So locally on my branch I would right click > TortoiseGit > Pull from remote/origin? And it will only pull the Darkstar changes?demolish wrote:pull from origin/master
rebuild server and reimport sql files
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?
Re: Step by step guide to update your server?
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
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
Click here for a guide on scripting missions.<Giblet[NewBrain]> kj with this first step would be fine on my shit
Re: Step by step guide to update your server?
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
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
Re: Step by step guide to update your server?
Thanks a lot, guys. I'll give it a go tonight after work and see how I come out on the other end.
Re: Step by step guide to update your server?
3. Specify a new remote upstream repository that will be synced with the fork.kjLotus wrote:first, you have to do this (just once):
https://help.github.com/articles/config ... or-a-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
?
Re: Step by step guide to update your server?
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.
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.
Re: Step by step guide to update your server?
that's correct: upstream is so you can get the updates from us to your forkenkidou wrote:3. Specify a new remote upstream repository that will be synced with the fork.kjLotus wrote:first, you have to do this (just once):
https://help.github.com/articles/config ... or-a-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
?
Re: Step by step guide to update your server?
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
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
Did I miss a step there?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