servers.minetest.net statistics 10 days (25th Sep 2016 -- 5th Oct 2016) only server list fetches were counted General stats ------------- total: 2797823 IPv4 -> 2628742 93.96% IPv6 -> 169081 06.04% Browser -> 274306 09.80% Game -> 2523517 90.20% Game stats ---------- total: 2523517 (Identifies as) Minetest: 0.4.14 -> 98818 03.92% 0.4.13 -> 784546 31.09% 0.4.12 -> 6031 00.24% gUnknown -> 694 00.03% 0.4.11 -> 35817 01.42% 0.4.10 -> 4447 00.18% 0.4.9 -> 2995 00.12% 0.4.8 -> 21 00.00% 0.4.7 or older -> 9569 00.28% Third party (with >10000 total): MultiCraft 1.1.4 -> 1253041 49.65% based on 0.4.14 MultiCraft 1.1.2 -> 95264 03.78% MultiCraft 1.1.0 -> 69 00.00% both based on 0.4.13 MultiCraft 1.0.1 -> 1643 00.07% based on 0.4.12 modernhousebuild -> 44326 01.76% freeminermt -> 42904 01.70% buildavillage -> 19233 00.76% castlemedieval -> 18577 00.74% CMine -> 10326 00.41% other/unknown -> 95196 03.77% Note about gUnknown: This "version" exists since 0.4.11 for Android: https://github.com/minetest/minetest/commit/d38f6ebb9bb9ff201b3a1e19a8e6ad311dbe4972 That means all "gUnknown" clients are on Android and run 0.4.11 or newer. Note about other/unknown: Those are 98% other Android clients or Python-urllib/libwww-perl/curl or random stuff nobody cares about. Third party store links: MultiCraft -- https://play.google.com/store/apps/details?id=mobi.MultiCraft modernhousebuild -- https://play.google.com/store/apps/details?id=com.roso2kosi.modhousb (?) freeminermt -- https://play.google.com/store/apps/details?id=org.freeminer.freeminermt buildavillage -- https://play.google.com/store/apps/details?id=com.roso2kosi.buildvlg (?) castlemedieval -- https://play.google.com/store/apps/details?id=com.roso2kosi.castmedbu (?) CMine -- ??? Effective version distribution ------------------------------ based on prev. section 0.4.14 -> 1351859 53.57% 0.4.13 -> 879879 34.87% 0.4.12 -> 7674 00.30% 0.4.11 -> 36511 01.45% 0.4.10 or older -> 17032 00.67% unknown -> 230562 09.14% Note on unknown: These are most likely anywhere between 0.4.12 and 0.4.14. Platform stats -------------- total: 2507800 x86 -> 73221 02.92% x86_64 -> 114469 04.56% armv6/7l -> 1679520 66.97% aarch64 -> 640526 25.54% ??? -> 64 00.00% Desktop -> 187690 07.46% Mobile -> 2320046 92.51% ??? -> 64 00.00% (all ARM devices were counted as mobile) Linux -> 1654732 65.98% Windows -> 66730 02.66% Darwin -> 786306 31.35% other -> 32 00.00% Linux stats ----------- total: 1654732 oldest Linux version: 2.6.32.27 newest Linux version: 4.8.0-rc8-g2161a2a most common Linux versions: 166322 10.05% 3.4.67 73728 04.46% 3.4.5 40545 02.45% 3.4.0+ 38572 02.33% 3.4.39 32757 01.98% 3.4.0 Windows stats ------------- total: 66730 Windows 8(.1)/10 -> 32341 48.47% Windows 7 -> 28832 43.21% Windows Vista -> 1612 02.42% Windows XP -> 3929 05.89% older -> 16 00.02% Mobile stats ------------ total: 2320046 Android -> 1537710 66.28% iOS -> 782336 33.72% iOS stats --------- total: 782336 iPad -> 221617 28.33% iPhone -> 554376 70.86% iPod -> 6343 00.81% +======================+ | big pile of commands | +======================+ tail -n 4425000 /usr/local/nginx/logs/serverlist.log | grep "GET /list" > serverlist_10days.log wc -l serverlist_10days.log cat serverlist_10days.log | awk '{ if($1 !~ ":") print $0 }' | wc -l cat serverlist_10days.log | awk '{ if($1 ~ ":") print $0 }' | wc -l ## cat serverlist_10days.log | egrep "(Mozilla|Opera)" | wc -l cat serverlist_10days.log | egrep -v "(Mozilla|Opera)" | wc -l cat serverlist_10days.log | egrep -v "(Mozilla|Opera)" > game.log wc -l game.log ## cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest/0\.4\.14" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest/0\.4\.13" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest/0\.4\.12" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest/gUnknown" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest/0\.4\.11" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest/0\.4\.10" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest[/ ]0\.4\.9" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^Minetest 0\.4\.8" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^(Minetest|-)\"" | wc -l # cat game.log | cut -d '"' -f 6-7 | egrep "^MultiCraft/1\.1\.4" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^MultiCraft/1\.1\.2" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^MultiCraft/1\.1\.0" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^MultiCraft/1\.0\.1" | wc -l # cat game.log | cut -d '"' -f 6-7 | egrep "^modernhousebuild/" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^freeminermt/" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^buildavillage/" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^castlemedieval/" | wc -l cat game.log | cut -d '"' -f 6-7 | egrep "^CMine/" | wc -l # cat game.log | cut -d '"' -f 6-7 \ | egrep -v "^(Minetest|-)\"" | egrep -v "^Minetest[/ ](0\.4\.([8-9]|1[0-4])|gUnknown)" \ | egrep -v "^MultiCraft/1\.(0\.1|1\.[024])" \ | egrep -v "^(modernhousebuild|freeminermt|buildavillage|castlemedieval|CMine)/" \ | wc -l calc.exe cat game.log | cut -d '"' -f 6-7 | egrep "\(\S+ \S+\)\"" > newer.log cat newer.log | cut -d '(' -f 2 | cut -d ')' -f 1 | sed -re 's/i(Phone[6-9],[0-9]|Pad[4-6],[0-9]|Pod7,1)/aarch64/' | sed -re 's/i(Phone|Pad|Pod)[0-9],[0-9]/armv7l/' > archs.log wc -l newer.log # cat archs.log | egrep "(x86|i[3-6]86)$" | wc -l cat archs.log | egrep "x86_64$" | wc -l cat archs.log | egrep "armv[67]l?$" | wc -l cat archs.log | egrep "(aarch64|armv8l)$" | wc -l cat archs.log | egrep -v "(x86|i[3-6]86|x86_64|armv[67]l?|aarch64|armv8l)$" | wc -l ## calc.exe ## cat newer.log | cut '-d(' -f2 | cut '-d/' -f1 | grep "Linux" | wc -l cat newer.log | cut '-d(' -f2 | cut '-d/' -f1 | grep "Windows" | wc -l cat newer.log | cut '-d(' -f2 | cut '-d/' -f1 | grep "Darwin" | wc -l cat newer.log | cut '-d(' -f2 | cut '-d/' -f1 | egrep -v "(Linux|Windows|Darwin)" | wc -l cat newer.log | cut '-d(' -f2 | grep "Linux" | cut '-d/' -f2 | cut '-d ' -f1 | sort -n | head -n1 cat newer.log | cut '-d(' -f2 | grep "Linux" | cut '-d/' -f2 | cut '-d ' -f1 | sort -rn | head -n1 cat newer.log | cut '-d(' -f2 | grep "Linux" | cut '-d/' -f2 | cut '-d ' -f1 | sort | uniq -c | sort -rn | head -n5 cat newer.log | cut '-d(' -f2 | grep "Windows" | cut -d '/' -f2 | cut -d ' ' -f1 > winvers.log # cat winvers.log | grep "^6\.2" | wc -l cat winvers.log | grep "^6\.1" | wc -l cat winvers.log | grep "^6\.0" | wc -l cat winvers.log | grep "^5\.[12]" | wc -l cat winvers.log | egrep -v "^(5\.[12]|6\.[0-2])" | wc -l cat newer.log | cut -d '(' -f 2 | cut -d ')' -f 1 \ | sed -re 's/i(Phone[6-9],[0-9]|Pad[4-6],[0-9]|Pod7,1)/aarch64_apple/' | sed -re 's/i(Phone|Pad|Pod)[0-9],[0-9]/armv7l_apple/' \ | egrep "(armv[67]l?|aarch64|armv8l)" > mobile.log # cat mobile.log | grep -v "_apple" | wc -l cat mobile.log | grep "_apple" | wc -l cat newer.log | cut '-d(' -f2 | cut '-d)' -f1 | egrep "i(Phone|Pad|Pod)[0-9],[0-9]" | grep iPhone | wc -l cat newer.log | cut '-d(' -f2 | cut '-d)' -f1 | egrep "i(Phone|Pad|Pod)[0-9],[0-9]" | grep iPad | wc -l cat newer.log | cut '-d(' -f2 | cut '-d)' -f1 | egrep "i(Phone|Pad|Pod)[0-9],[0-9]" | grep iPod | wc -l