Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
dev:mohlo_by_se_hodit [07.10.2013 20:34] 127.0.0.1 upraveno mimo DokuWiki |
dev:mohlo_by_se_hodit [19.01.2015 20:23] (aktuální) ritchie zalohovani db bez restartu mt serveru |
||
---|---|---|---|
Řádek 10: | Řádek 10: | ||
* elektrické stroje v nečinnosti nemají standby odběr (50 EU na mašinu) | * elektrické stroje v nečinnosti nemají standby odběr (50 EU na mašinu) | ||
* workshopy jsou změněny z LV na MV | * workshopy jsou změněny z LV na MV | ||
+ | * [[http://wiki.minetest.com/wiki/Setting_up_a_server/Ubuntu|Jednoduchý návod na zprovoznění minetest serveru]], inspirace konfigurace složek ve skriptu. | ||
+ | * [[https://forum.minetest.net/viewtopic.php?id=2840|Nodebox Generator]] - program na tvorbu bloků různých tvarů | ||
+ | * [[http://forum.root.cz/index.php?topic=7533.msg73935;topicseen#new|VPN a iptables]] ohledně default GW pro OpenVPN - jen pro záznam | ||
+ | |||
+ | ==== jak zvětšit počet nodů ==== | ||
+ | |||
+ | [01:29:18] <pitriss> I want to ask, is planned to allow more than circa 4k nodes? | ||
+ | [01:34:47] <VanessaE> yes | ||
+ | [01:34:58] <VanessaE> if the appropriate people will just fucking commit to it already :) | ||
+ | [01:35:43] <VanessaE> edit mapnode.h line 46 | ||
+ | [01:35:47] <VanessaE> I set mine to 0x7fff but I personally think a value of 0xc000 or so is appropriate. | ||
+ | [01:55:05] <pitriss> VanessaE: oh thanks:) | ||
+ | [01:56:44] <pitriss> VanessaE: btw it is server only setting, right? So it will be possible to connect with standard client too.. | ||
+ | [01:57:32] <VanessaE> yes | ||
+ | [01:57:43] <VanessaE> all modern clients can already handle it | ||
+ | [01:58:01] <VanessaE> anything pre-July 22 will not work though if you define more than 4k nodes. | ||
+ | [01:58:27] <VanessaE> (that includes 0.4.7-stable) | ||
+ | [02:01:37] <pitriss> ok.. i don't really care about stable clients. so it is ok for me:) | ||
+ | [02:01:59] <VanessaE> ok :) | ||
+ | |||
+ | |||
+ | ==== Detekce vzdálenosti ==== | ||
+ | |||
+ | [16:29:10] <pitriss> please did someone invented some quick way how to get distance of player from some spot on map? I don't want to re-invent a wheel:) | ||
+ | [16:30:34] <sfan5> pitriss: vector.distance | ||
+ | [16:30:49] <kaeza> pitriss, pythagoras' theorem, or use vector.distance(p1, p2) | ||
+ | [16:32:31] <pitriss> so vector.distance(coords1, coords2).. I guess coords are tables:) Thank you guys:) | ||
+ | [16:32:54] <pitriss> and sorry for my noobish questions..:) | ||
+ | [16:33:00] <sfan5> tables like {x=1, y=0, z=7} | ||
+ | |||
+ | |||
+ | ==== Definice max_lag ==== | ||
+ | <code text> | ||
+ | [21:43] <ShadowNinja> Wouldn't max_lag be a better value to announce as lag than the step time? | ||
+ | [21:44] <sapier> Can someone explain to me what max lag is supposed to be? | ||
+ | [21:45] <PilzAdam> sapier, AFAIK its the time spend in Lua code | ||
+ | [21:47] <ShadowNinja> sapier: http://pastebin.ubuntu.com/6845876/ | ||
+ | [21:48] <ShadowNinja> Basically dtime that decreases only slowly. | ||
+ | [21:49] <sapier1> hmm ok guess we need to think about this way of determine lag later as it doesn't honor network lag | ||
+ | </code> | ||
+ | |||
+ | [[http://pastebin.ubuntu.com/6845876/]] | ||
+ | <code c> | ||
+ | float max_lag = m_env->getMaxLagEstimate(); | ||
+ | max_lag *= 0.9998; // Decrease slowly (about half per 5 minutes) | ||
+ | if(dtime > max_lag){ | ||
+ | if(dtime > 0.1 && dtime > max_lag * 2.0) | ||
+ | infostream<<"Server: Maximum lag peaked to "<<dtime | ||
+ | <<" s"<<std::endl; | ||
+ | max_lag = dtime; | ||
+ | } | ||
+ | m_env->reportMaxLagEstimate(max_lag); | ||
+ | </code> | ||
+ | |||
+ | Další pěkné vysvětlení max_lag, by Zeno: https://forum.minetest.net/viewtopic.php?t=10884&p=167238#p167292 | ||
+ | |||
+ | >max_lag is kind of diffucult to explain. If you're interested in your **own** lag, RTT is the value you want to be looking at (not max_lag). | ||
+ | > | ||
+ | >What max_lag (very basically) is how long the server takes to process a single "server step" (i.e. update the environment, make new map blocks, reply to all clients... stuff like that). Let's call that server_step_time. Every time server_step_time is greater than twice the current max_lag then max_lag becomes that new server_step_time. | ||
+ | > | ||
+ | >Once the CPU processing spike goes away the max_lag decreases by .02% every server_step (unless it goes up again) until it again reaches the "normal" server_step time. This can take a while (maybe 5-10 minutes). So even if max_lag is showing, say, 5.6s the current server lag may be (and probably is) a lot less. | ||
+ | > | ||
+ | >Anyway, from a client perspective RTT is the value you should be looking at, and that's for your client only. The minimum value for RTT is at least server_step_time, so it *is* kind of associated with max_lag for a particular instant but because of the way max_lag is calculated and decreased slowly it's not very well correlated at all (unless max_lag is constant). | ||
+ | > | ||
+ | >Err, it's kind of complicated isn't it :/ max_lag is not really useful from a client's perspective at all because there is nothing the client can do about it. It's really more useful for people running a server and tuning server-side values. Even then, because max_lag is a weighted average (in effect) using a fixed value for the weight it's uses are (currently) limited (IMO) | ||
+ | |||
+ | ==== Zálohování DB bez restartu MT serveru ==== | ||
+ | |||
+ | http://irc.minetest.ru/minetest/2015-01-19#i_4121156 | ||
+ | |||
+ | vitaminx: | ||
+ | >btw. i just found a method to safely backup map.sqlite *without* stopping the server | ||
+ | >create a file called "backup.sql" and put this inside: | ||
+ | <code> | ||
+ | begin immediate; | ||
+ | .shell cp $HOME/.minetest/worlds/world/map.sqlite $HOME/map.sqlite_backup | ||
+ | rollback; | ||
+ | </code> | ||
+ | >then tell your backup script to execute this line: | ||
+ | <code> | ||
+ | echo ".read backup.sql" | sqlite3 -echo .minetest/worlds/world/map.sqlite | ||
+ | </code> | ||
+ | >DB stays consistent and user stay logged in - they probably notice a short lag while the DB file is copied, thats all | ||
+ | twoelk: | ||
+ | >vitaminx: doesn't rollback freeze youre server? | ||
+ | vitaminx: | ||
+ | >it gets a lock on the DB, so minetest has to wait with it's writes - thats what I mean with short lag | ||
+ | >i will test it today, lets see if its really noticeable | ||
+ | >having a short lag is probably still better then to disconnect all players | ||