Skip to content

Instantly share code, notes, and snippets.

@RoboMWM
Created September 26, 2016 06:13
Show Gist options
  • Select an option

  • Save RoboMWM/dc042bd91d9ba174a31f8f89a3edb5c4 to your computer and use it in GitHub Desktop.

Select an option

Save RoboMWM/dc042bd91d9ba174a31f8f89a3edb5c4 to your computer and use it in GitHub Desktop.
minecraft auto save
[22:45:04] <Aikar> well this is interesting
[22:45:08] <Aikar> vanilla has a chunk GC
[22:45:12] <Aikar> runs on auto save
[22:45:22] <Aikar> .... so guess whats runnign every tick now due to my change lol
[22:45:30] <DemonWav> YEah we know
[22:46:06] <DemonWav> Aikar look, new logo https://minecraftdev.org/
[22:46:37] <Aikar> looks nice, need favicon
[22:46:47] <DemonWav> what size is a favicon?
[22:46:55] <Aikar> modern browsers can support higher
[22:47:00] <Aikar> you can embed multi sizes in 1 file
[22:47:03] <Aikar> or just use a png
[22:47:12] <DemonWav> like 32x32?
[22:47:15] <Aikar> <link ref="shortcut icon" i think
[22:47:20] <Aikar> .g shortcut icon
[22:47:20] <CafeBabe> (Aikar) http://stackoverflow.com/questions/25952907/favicon-ico-vs-link-rel-shortcut-icon -- "/favicon.ico" vs <link rel="shortcut icon" />: "There are several ways to create a favicon. The best way for you depends on various factors: The time you can spend on this task. For many people ..."
[22:47:30] <RoboMWM> o i c
[22:47:42] <RoboMWM> mmm yus gc every tick moarrrr rammmm
[22:47:44] <DemonWav> favicon generator
[22:47:45] <DemonWav> huh
[22:48:20] <Aikar> helps create the ico file
[22:48:27] <Aikar> but easier to just use a png
[22:48:31] <Aikar> dont need to support old shit
[22:48:59] <DemonWav> oh wow
[22:49:02] <DemonWav> this site is really cool
[22:50:35] <Paper> [Paper] aikar pushed 1 new commit to master: https://git.io/vixov
[22:50:35] <Paper> Paper/master a57cf22 Aikar: don't save level every tick for auto save. whoops
[22:52:07] <RoboMWM> will dat fix muh issue 435
[22:52:12] <GodzillaCI> Project Paper build #879: SUCCESS in 1 min 24 sec: https://ci.destroystokyo.com/job/PaperSpigot/879/
[22:52:14] <Paper> [Paper] aikar pushed 1 new commit to master: https://git.io/vixoI
[22:52:14] <Paper> Paper/master 9e6cbc5 Aikar: Disable Vanilla Chunk GC in favor of Bukkits
[22:52:16] <Aikar> probally
[22:52:23] <Aikar> i havent looked at the paper issues
[22:52:31] <Aikar> it def will make things better
[22:52:36] <RoboMWM> https://github.com/PaperMC/Paper/issues/435
[22:52:51] <RoboMWM> basically me pointing at your auto save feature lol
[22:53:03] <Aikar> try it first then we will close if it fixes it fully
[22:53:19] <Aikar> i cant test.... since on a single player it doesnt introduce enough ovehread
[22:53:27] <Aikar> is why i didnt catch it
[22:53:49] <RoboMWM> well it caused tps loss even with nobody on so ?shrug
[22:53:52] <Aikar> i tested to make sure auto saving for chunks was behaving, forgot about the level.dat stuff
[22:54:04] <Aikar> ... my home dev box is kind of OP
[22:54:14] <GodzillaCI> Project Paper build #880: SUCCESS in 1 min 21 sec: https://ci.destroystokyo.com/job/PaperSpigot/880/
[22:54:16] <RoboMWM> yea I supposed that'd be the case
[22:54:33] <Aikar> "Paper fund: buy aikar a shittier PC to test on, that hell probally be too lazy to test on"
[22:56:03] <RoboMWM> VMz m8
[22:56:13] <DemonWav> Aikar now with favicon https://minecraftdev.org/
[22:56:15] <GodzillaCI> Project Paper build #881: SUCCESS in 1 min 23 sec: https://ci.destroystokyo.com/job/PaperSpigot/881/
[22:56:35] <Aikar> DemonWav: +2
[22:56:35] <DemonWav> https://github.com/DemonWav/MinecraftDev/commit/3e37e7c8f5344415afe8f15abe7b08d60a5b9f6c
[22:59:39] <Aikar> i made level saving follow the bukkit.yml rate, iddint want to bind leve lto chunk rate
[23:00:10] <Aikar> so you can make level.dat and structures every 10 mins, and chunks 3 mins
[23:00:39] <Aikar> by doing bukkit.yml to 10 mins,and paper.yml world default to 3 mins
[23:01:21] <RoboMWM> ok so what does this control exactly max-auto-save-chunks-per-tick
[23:01:33] <Aikar> vanilla caps it to 24 per tick per world
[23:01:34] <RoboMWM> is that an interval, or amount of chunks for every tick
[23:01:36] <Aikar> spigot removes that cap
[23:01:47] <Aikar> so that limits maximum impact auto save can have on a single tick
[23:01:50] <Aikar> amount of chunks
[23:02:01] <DemonWav> woah
[23:02:01] <RoboMWM> full autosave, not per-tick autosave right?
[23:02:06] <DemonWav> Aikar update your github dark theme
[23:02:10] <DemonWav> background updated
[23:02:12] <Aikar> if 30 chunks are "due for save", 24 will save, 6 next tick
[23:02:14] <DemonWav> it's nice
[23:02:29] <Aikar> it ensures it distributes it more
[23:02:38] <RoboMWM> ah ok that's helpful. So what are you doing every tick then
[23:02:47] <Aikar> TESTING if its due to aut osave
[23:03:17] <Aikar> meaning autosave always did everything in same tick
[23:03:28] <Aikar> before*
[23:03:33] <Aikar> now it incrementally does it
[23:04:27] <RoboMWM> well you said vanilla has a cap though
[23:04:36] <Aikar> vanilla is flawed
[23:04:39] <RoboMWM> unless you just mean it does everything in the same "interval"
[23:04:41] <Aikar> say 200 are due to save
[23:04:44] <Aikar> vanilla caps 24
[23:04:50] <Aikar> and 176 just wont save
[23:04:53] <RoboMWM> oh
[23:04:57] <RoboMWM> wut
[23:05:05] <RoboMWM> well I guess they save on server close
[23:05:13] <Aikar> right, but thats not the intent
[23:05:17] <Aikar> the logic is just wrong
[23:05:17] <RoboMWM> yea
[23:05:21] <Aikar> they need what i just did
[23:05:35] <RoboMWM> ok so every tick you're doing...
[23:06:06] <Aikar> iterate every chunk (which isnt a big deal, probally 20 other things do that too), and test if the chunk is modified AND has been X ticks since last save
[23:07:34] <Aikar> ok i got to sleep, im so tired
[23:07:37] <Aikar> cya
[23:08:14] *** Joins: Marat569 ([email protected])
[23:09:51] *** Quits: Maratx ([email protected]) (Ping timeout: 121 seconds)
[23:10:46] <RoboMWM> ah, so instead of "save world every x ticks" it's "save chunk after x amount of ticks"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment