Giter Site home page Giter Site logo

bedrock-tool / bedrocktool Goto Github PK

View Code? Open in Web Editor NEW
169.0 15.0 20.0 1.69 MB

a mostly working minecraft bedrock tool for downloading server worlds, skins and others

License: GNU General Public License v3.0

Go 93.88% Python 1.40% JavaScript 4.60% TypeScript 0.13%
bedrock-edition minecraft server-resourcepacks skinstealer world-downloader

bedrocktool's People

Contributors

olebeck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bedrocktool's Issues

Packs command bug

--COPY FROM HERE--
time="2022-11-21T10:37:28+04:00" level=info msg="Version: v1.24.12"
time="2022-11-21T10:37:28+04:00" level=info msg="Cmdline: [bedrocktool-v1.24.12_windows_amd64.exe packs]"
time="2022-11-21T10:37:28+04:00" level=error msg="Error: runtime error: invalid memory address or nil pointer dereference"
stacktrace from panic:
goroutine 1 [running]:
runtime/debug.Stack()
/opt/hostedtoolcache/go/1.19.2/x64/src/runtime/debug/stack.go:24 +0x65
main.main.func1()
/home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:32 +0x199
panic({0x115fc20, 0x1b488e0})
/opt/hostedtoolcache/go/1.19.2/x64/src/runtime/panic.go:884 +0x212
github.com/bedrock-tool/bedrocktool/utils.(*Pack).Decrypt(0xc0003af9f0)
/home/runner/work/bedrocktool/bedrocktool/utils/resourcepack.go:115 +0x6d2
github.com/bedrock-tool/bedrocktool/utils.(*ResourcePackCMD).Execute(0xc000008318, {0x136d5d8, 0xc0000a9440}, 0xc0007d7cf0?, {0xb0c867?, 0x23d7916fe68?, 0x18?})
/home/runner/work/bedrocktool/bedrocktool/utils/resourcepack.go:254 +0x9e5
github.com/google/subcommands.(*Commander).Execute(0xc000160080, {0x136d5d8, 0xc0000a9440}, {0x0, 0x0, 0x0})
/home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:209 +0x3bc
github.com/google/subcommands.Execute(...)
/home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:492
main.main()
/home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:110 +0xaef

--END COPY HERE--

Steps:

Run the "packs" command and the server IP is "play.nethergames.org".

Device id changer

A feature to view device ids for debugging purposes would be nice

Enhance The Geometry Stealer

So, right now with the geometry stealer is really awful and does do what we want but really inefficiently. So, how you might ask? Well when you load into a server it will download the skins with geometry however, it also downloads the skins that are just default server replacement skins that can appear on the hive if you are waring a invalid skin that has custom geometry that as not been accept by the hive! However, that's not the worst part, so what is that part you might ask? Well, it downloads the skins that it see's and it gets the geo id , player id and the player uuid to add it to skins download however, if we rerender the players with the exact same default skin witch please just get rid of that btw, but the geometry meaning it does not check to see if the model has already been downloaded meaning it will continue to download the exact same players skins and geometry meaning it keeps downloading the skins we already have leading to multiple copies of the exact same skin we already got. But in a new folder like this.
uuid
uuid (2)
So how can we fix this? Well, make it so it only downloads skins with geometry and capes and if it detects a person with a geometry id it will save, the folder, image and the geometry file as the geometry id name meaning if they change there skin to a different costume the different costume will have a different geometry id meaning it will no longer lead to large amounts of duplicates wile also making it much easy for the person to find the skin they downloaded. So since I am a bad explainer I will try sum it down and make it much more easier for you to under stand. So for example: it downloads the first persons skin and geometry id was geometry.humanoid.custom and it saved the imagen, geo files and folder as the geo name. But if the exact same person changed there skin to a different costume and if it detects a different geometry id witch in this example is geometry.humanoid.customSlim it will check to see if folder, image, geometry file, with the exact same geo id name has already been downloaded if not it will once again download and save the folder, image, geometry file as the geo id name.

worlds

can we import these worlds to pocketminemp cuz for me i get this error:

Unsupported format: LevelDB world format version 9 is currently unsupported

error by packs command

time="2022-12-13T14:45:34+01:00" level=info msg="Version: v1.26.0"
time="2022-12-13T14:45:34+01:00" level=info msg="Cmdline: [C:\\Users\\Nick\\Downloads\\bedrocktool-v1.26.0_windows_amd64.exe packs]"
time="2022-12-13T14:45:34+01:00" level=error msg="Error: open keys.db: Access is denied."
stacktrace from panic:
goroutine 1 [running]:
runtime/debug.Stack()
        /opt/hostedtoolcache/go/1.19.3/x64/src/runtime/debug/stack.go:24 +0x65
main.main.func1()
        /home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:32 +0x199
panic({0xed15a0, 0xc000f29680})
        /opt/hostedtoolcache/go/1.19.3/x64/src/runtime/panic.go:884 +0x212
github.com/bedrock-tool/bedrocktool/utils.dump_keys(0xc000162000?)
        /home/runner/work/bedrocktool/bedrocktool/utils/resourcepack.go:146 +0x545
github.com/bedrock-tool/bedrocktool/utils.(*ResourcePackCMD).Execute(0xc000008318, {0x10bff98, 0xc001474b40}, 0xc000787cf0?, {0x85c867?, 0x281f6cf4868?, 0x18?})
        /home/runner/work/bedrocktool/bedrocktool/utils/resourcepack.go:223 +0x392
github.com/google/subcommands.(*Commander).Execute(0xc000162080, {0x10bff98, 0xc001474b40}, {0x0, 0x0, 0x0})
        /home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:209 +0x3bc
github.com/google/subcommands.Execute(...)
        /home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:492
main.main()
        /home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:110 +0xaef

Resource pack not loaded if server is whitelisted

In Minecraft you can download resource packs even if the server is whitelisted and bedrocktool cannot download resource packs if the server is whitelisted.
For example the server play.askills.xyz. This is what I get:

Input Command: -extra-debug packs
Enter Server: play.askills.xyz
time="2023-02-22T20:52:42+07:00" level=info msg="Connecting to play.askills.xyz:19132"
[debug packets see all in packets.log]
time="2023-02-22T20:54:01+07:00" level=info msg="Disconnect {false Server is whitelisted}"
time="2023-02-22T20:54:01+07:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x05, packet.Disconnect"
time="2023-02-22T20:54:01+07:00" level=error msg="failed to connect to play.askills.xyz:19132: dial minecraft 192.168.1.12:60572->212.87.213.113:19132: Server is whitelisted"
time="2023-02-22T20:54:01+07:00" level=info msg="Press Enter to exit."

packets.log
packets.log.gpg

error reading packet header: EOF

Input Command: packs
Enter Server: zeqa.net
time="2023-01-25T06:58:19+07:00" level=info msg="Connecting to zeqa.net:19132"
2023/01/25 06:58:33 error: error reading packet header: EOF
time="2023-01-25T06:58:33+07:00" level=error msg="dial minecraft 192.168.1.8:52400->31.25.11.41:19132: use of closed network connection"
time="2023-01-25T06:58:33+07:00" level=info msg="Press Enter to exit."

16 Bit?!

This version of C:\apps\BlueTool\bedrocktool.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

image

Error: runtime error: invalid memory address or nil pointer dereference

time="2023-02-22T23:25:15+07:00" level=info msg="Version: v1.27.0-1-ge532089"
time="2023-02-22T23:25:15+07:00" level=info msg="Cmdline: [C:\\Users\\Admin\\Downloads\\bedrocktool\\bedrocktool-v1.27.0-1-ge532089_windows_386.exe packs]"
time="2023-02-22T23:25:15+07:00" level=error msg="Error: runtime error: invalid memory address or nil pointer dereference"
stacktrace from panic:
goroutine 1 [running]:
runtime/debug.Stack()
        /opt/hostedtoolcache/go/1.19.6/x64/src/runtime/debug/stack.go:24 +0x83
main.main.func1()
        /home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:38 +0x240
panic({0xcf30e0, 0x1765dd8})
        /opt/hostedtoolcache/go/1.19.6/x64/src/runtime/panic.go:884 +0x1ba
github.com/sandertv/gophertunnel/minecraft.(*Conn).ResourcePacks(...)
        /home/runner/go/pkg/mod/github.com/olebeck/[email protected]/minecraft/conn.go:393
github.com/bedrock-tool/bedrocktool/utils.(*ResourcePackCMD).Execute.func1(0x13484090, {0xed1bb0, 0x12966720})
        /home/runner/work/bedrocktool/bedrocktool/utils/resourcepack-ace.go:211 +0xa0
github.com/bedrock-tool/bedrocktool/utils.(*ProxyContext).Run(0x13484090, {0xed8560, 0x13484060}, {0x133f8030, 0x16})
        /home/runner/work/bedrocktool/bedrocktool/utils/proxy.go:300 +0xb33
github.com/bedrock-tool/bedrocktool/utils.(*ResourcePackCMD).Execute(0x12808b10, {0xed8560, 0x134853b0}, 0x13406030, {0x0, 0x0, 0x0})
        /home/runner/work/bedrocktool/bedrocktool/utils/resourcepack-ace.go:269 +0x1d9
github.com/google/subcommands.(*Commander).Execute(0x12862e80, {0xed8560, 0x134853b0}, {0x0, 0x0, 0x0})
        /home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:209 +0x2d4
github.com/google/subcommands.Execute(...)
        /home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:492
main.main()
        /home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:154 +0x13fa

"Unknown" Custom Blocks in the saved world.

Custom blocks in worlds you save from a server are transformed into the "Unknown Block"
I have applied all of the server resource packs to the world.

To Reproduce

  1. Download a world from a server with custom blocks.
  2. Go to the place where custom blocks were on the server.

Expected behavior
The custom blocks should look like they do on the server.

Screenshots
image

Connection issues.

Hi, again. This is for PIxel Paradise. Your fix didn't fix it for me.
When I open it in regular minecraft with no proxy I get to a screen where it says it's downloading a resource pack and it stays at 0.0MB/2.4MB before saying unable to connect or something similar.
This is what I get from Bedrocktool.
bedrocktool -debug=true debug-proxy -address play.pixelparadise.gg
time="2023-02-05T10:03:28-05:00" level=info msg="Bedrocktool Version v1.26.1-1-ga601cb3"
time="2023-02-05T10:03:28-05:00" level=info msg="Listening on [::]:19132"
time="2023-02-05T10:03:28-05:00" level=info msg="Open Minecraft and connect to this computers local ip address to continue"
time="2023-02-05T10:04:10-05:00" level=info msg="Connecting to play.pixelparadise.gg:19132"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0xc1, packet.RequestNetworkSettings"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x8f, packet.NetworkSettings"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x01, packet.Login"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x03, packet.ServerToClientHandshake"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x04, packet.ClientToServerHandshake"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x02, packet.PlayStatus"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x81, packet.ClientCacheStatus"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x06, packet.ResourcePacksInfo"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x08, packet.ResourcePackClientResponse"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x07, packet.ResourcePackStack"
time="2023-02-05T10:04:12-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x08, packet.ResourcePackClientResponse"

bedrocktool -preload=true -debug=true debug-proxy -address play.pixelparadise.gg
time="2023-02-05T10:06:35-05:00" level=info msg="Bedrocktool Version v1.26.1-1-ga601cb3"
time="2023-02-05T10:06:36-05:00" level=info msg="Preloading Resourcepacks"
time="2023-02-05T10:06:36-05:00" level=info msg="Connecting to play.pixelparadise.gg:19132"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0xc1, packet.RequestNetworkSettings"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x8f, packet.NetworkSettings"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x01, packet.Login"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x03, packet.ServerToClientHandshake"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x04, packet.ClientToServerHandshake"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x02, packet.PlayStatus"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x81, packet.ClientCacheStatus"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x06, packet.ResourcePacksInfo"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x08, packet.ResourcePackClientResponse"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x52, packet.ResourcePackDataInfo"
time="2023-02-05T10:06:37-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x54, packet.ResourcePackChunkRequest"

I have another address here but I can't remember which server it's from. maybe lifeboat. I tried to get the "adopt a pet" world from there.
The 'lobby' (mco.lbsg.net) server works alright but when I connect to this one it gives a similar problem.
bedrocktool -preload=true -debug=true worlds -address lbc.lbsg.net
time="2023-02-05T10:29:42-05:00" level=info msg="Bedrocktool Version v1.26.1-1-ga601cb3"
time="2023-02-05T10:29:43-05:00" level=info msg="Preloading Resourcepacks"
time="2023-02-05T10:29:43-05:00" level=info msg="Connecting to lbc.lbsg.net:19132"
time="2023-02-05T10:29:45-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0xc1, packet.RequestNetworkSettings"
time="2023-02-05T10:29:45-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x8f, packet.NetworkSettings"
time="2023-02-05T10:29:45-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x01, packet.Login"
time="2023-02-05T10:29:45-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x03, packet.ServerToClientHandshake"
time="2023-02-05T10:29:45-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x04, packet.ClientToServerHandshake"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x02, packet.PlayStatus"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x81, packet.ClientCacheStatus"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x06, packet.ResourcePacksInfo"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x08, packet.ResourcePackClientResponse"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x52, packet.ResourcePackDataInfo"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x52, packet.ResourcePackDataInfo"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x54, packet.ResourcePackChunkRequest"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x52, packet.ResourcePackDataInfo"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x54, packet.ResourcePackChunkRequest"
time="2023-02-05T10:29:46-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x54, packet.ResourcePackChunkRequest"

bedrocktool -debug=true debug-proxy -address lbc.lbsg.net
time="2023-02-05T10:38:38-05:00" level=info msg="Bedrocktool Version v1.26.1-1-ga601cb3"
time="2023-02-05T10:38:39-05:00" level=info msg="Listening on [::]:19132"
time="2023-02-05T10:38:39-05:00" level=info msg="Open Minecraft and connect to this computers local ip address to continue"
time="2023-02-05T10:38:45-05:00" level=info msg="Connecting to lbc.lbsg.net:19132"
time="2023-02-05T10:38:47-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0xc1, packet.RequestNetworkSettings"
time="2023-02-05T10:38:47-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x8f, packet.NetworkSettings"
time="2023-02-05T10:38:47-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x01, packet.Login"
time="2023-02-05T10:38:47-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x03, packet.ServerToClientHandshake"
time="2023-02-05T10:38:47-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x04, packet.ClientToServerHandshake"
time="2023-02-05T10:38:48-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x02, packet.PlayStatus"
time="2023-02-05T10:38:48-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x81, packet.ClientCacheStatus"
time="2023-02-05T10:38:48-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x06, packet.ResourcePacksInfo"
time="2023-02-05T10:38:48-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x08, packet.ResourcePackClientResponse"
time="2023-02-05T10:38:48-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x07, packet.ResourcePackStack"
time="2023-02-05T10:38:48-05:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x08, packet.ResourcePackClientResponse"

Unlike Pixel Paradise, I can directly connect to the adopt-a-pet world of LIfeBoat.

Failed to connect to Mineplex

Describe the bug
The bedrocktool fails to connect to mineplex and throws this error message:

INFO[0000] Bedrocktool Version 1.27.0-26                
INFO[0000] Preloading Resourcepacks                     
INFO[0000] Connecting to mco.mineplex.com:19132         
2023/03/18 16:56:54 error: verify claims: square/go-jose: error in cryptographic primitive
ERRO[0002] failed to connect to mco.mineplex.com:19132: dial minecraft <My IP>:35370->108.178.12.128:19132: use of closed network connection

To Reproduce
Steps to reproduce the behavior:

  1. Run the following command ./bedrocktool -preload=true worlds -address mco.mineplex.com -image -inv -packs
  2. See error

Expected behavior
The tool would connect to mineplex like normal so I can download the world.

Desktop (please complete the following information):

  • OS: Kubuntu 22.04
  • Tool Version 1.27.0-26 (Latest Version)

Not Working?

time="2023-03-10T19:17:17+10:00" level=error msg="Get "https://updates.yuv.pink/bedrocktool/windows-amd64.json\": dial tcp 130.61.202.109:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond."

Can't mirror worlds from ... a realm.

Hi, it's me again.
It'll connect to the realm but it just keeps spitting out
time="2023-03-10T06:48:34-05:00" level=error msg="The server didnt send the chunk before the subchunk!"
So I'm running around with the map blank and the message at the bottom telling me "0 chunks loaded"

this is with the CLI version.
It does work with the servers I can connect to.

World Download Not Working

When I tried to download a world from a Vanilla Bedrock Server I got that error and it doesnt let me join. How to fix this ? (It only happens on a specific server, i think their packs are broken.)

2023/04/16 12:25:29 duplicate texture pack entry c3032fab-5d32-4eae-b5ff-ed685de9e297 in resource pack info
2023/04/16 12:25:29 duplicate texture pack entry c3032fab-5d32-4eae-b5ff-ed685de9e297 in resource pack info
2023/04/16 12:25:29 pack bb54a220-1f34-42d4-b5b2-f08ad250d565 had a different size in the ResourcePacksInfo packet than the ResourcePackDataInfo packet
2023/04/16 12:25:29 pack 62d93aed-ece6-4327-8722-fa3c98a32101 had a different size in the ResourcePacksInfo packet than the ResourcePackDataInfo packet
2023/04/16 12:25:29 pack 4ea5f1f2-0df9-4b89-bc82-515791e98c88 had a different size in the ResourcePacksInfo packet than the ResourcePackDataInfo packet
2023/04/16 12:25:31 pack 611f92fa-c0f8-4cfe-9b27-a76e0c889626 had a different size in the ResourcePacksInfo packet than the ResourcePackDataInfo packet
2023/04/16 12:25:31 pack a9632d40-170f-f7b7-9331-f796e3a5259f had a different size in the ResourcePacksInfo packet than the ResourcePackDataInfo packet
2023/04/16 12:25:31 pack c3032fab-5d32-4eae-b5ff-ed685de9e297 had a different size in the ResourcePacksInfo packet than the ResourcePackDataInfo packet
2023/04/16 12:25:31 pack 0a5b8e8b-9730-49b1-bc58-d434c6ca84b7 had a different size in the ResourcePacksInfo packet than the ResourcePackDataInfo packet
2023/04/16 12:25:32 invalid full resource pack data for UUID bb54a220-1f34-42d4-b5b2-f08ad250d565: error reading manifest: error decoding manifest JSON: invalid character '3' after array element (data: {
  "format_version": 2,
  "header": {
    "name": "UI SCB TTN",
    "description": "By TTN",
    "uuid": "bb54a220-1f34-42d4-b5b2-f08ad250d565",
    "version": [
      29,
      03,
      2006
    ],
    "min_engine_version": [
      1,
      17,
      0
    ]
  },
  "modules": [
    {
      "type": "resources",
      "uuid": "9f0b23ea-f79d-4379-a6b9-4f261ee35bb8",
      "version": [
        1,
        0,
        0
      ]
    }
  ]
})
2023/04/16 12:25:34 invalid full resource pack data for UUID 0a5b8e8b-9730-49b1-bc58-d434c6ca84b7: error reading manifest: error decoding manifest JSON: invalid character '\r' in string literal (data: {
    "format_version": 2,
    "header": {
        "description": "Made By: Amon28/Dewdimpple
                Twitter:@Dewdimpple
                Youtube: Dewdimpple Ch.",
        "name": "NPC R v7",
        "uuid": "0a5b8e8b-9730-49b1-bc58-d434c6ca84b7",
        "version": [5, 1, 0],
        "min_engine_version": [ 1, 16, 0 ]
    },
    "modules": [
        {
            "description": "Example vanilla resource pack",
            "type": "resources",
            "uuid": "743f6949-53be-44b6-b326-398005028819",
            "version": [5, 1, 0]
        }
    ]
})

Can't load world on other server software

Describe the bug
when you try to use world on server software like dragonfly pocketmine(pm5) and nukkit 2.0 the server can't read biome data

Expected behavior
can load on server with out any problem

Screenshots
image
image

Additional context
these server software can load normal bedrock world without any problem

Error: runtime error: invalid memory address or nil pointer dereference

time="2022-11-01T13:10:25+07:00" level=info msg="Version: v1.24.12"
time="2022-11-01T13:10:25+07:00" level=info msg="Cmdline: [D:\\Downloads\\bedrocktool-v1.24.12_windows_amd64.exe worlds]"
time="2022-11-01T13:10:25+07:00" level=error msg="Error: runtime error: invalid memory address or nil pointer dereference"
stacktrace from panic:
goroutine 1 [running]:
runtime/debug.Stack()
        /opt/hostedtoolcache/go/1.19.2/x64/src/runtime/debug/stack.go:24 +0x65
main.main.func1()
        /home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:32 +0x199
panic({0x139fc20, 0x1d888e0})
        /opt/hostedtoolcache/go/1.19.2/x64/src/runtime/panic.go:884 +0x212
github.com/bedrock-tool/bedrocktool/subcommands/world.(*WorldState).SaveAndReset(0xc0009d8370)
        /home/runner/work/bedrocktool/bedrocktool/subcommands/world/world.go:343 +0x61f
github.com/bedrock-tool/bedrocktool/subcommands/world.(*WorldCMD).Execute(0xc000770018, {0x15ad5d8?, 0xc001066040}, 0xc000109cf0?, {0xd4c867?, 0x1dcb916f7c0?, 0x18?})
        /home/runner/work/bedrocktool/bedrocktool/subcommands/world/world.go:178 +0x2b7
github.com/google/subcommands.(*Commander).Execute(0xc00015a080, {0x15ad5d8, 0xc001066040}, {0x0, 0x0, 0x0})
        /home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:209 +0x3bc
github.com/google/subcommands.Execute(...)
        /home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:492
main.main()
        /home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:110 +0xaef

CubeCraft Archiving is now worse.

Hey, Obebeck,
Thank you so much for trying to fix the CubeCraft Archiving issue. However, instead of fixing it is somehow gotten worse then better to the point where all the blocks are completely black and when imported into the game and when loading into the world in crashes before we can even load into it.

localhost server

How do I connect to the local ip server, I input ip:127.0.0.1,port:19132,but can't connect

Remove duplicate skins

Skins option downloads the same skin repeatedly even from the same user and appends an increment to the filename. There are also multiple users that have the exact same skin and would prefer not to download duplicates.

I'd like an option to download only unique skins. Or functionality to search and remove duplicates when the listener is no longer running.
image

Cant download worlds from servers

Also sometimes when i try to download worlds from server it only say:

Enter Server: geo.hivebedrock.network
time="2022-12-16T13:12:06-06:00" level=info msg="Listening on [::]:19132"

Captura de pantalla (10)

error: verify claims: square/go-jose: error in cryptographic primitive (mineplex)

time="2023-04-11T16:49:10+07:00" level=info msg="Bedrocktool Version 1.28.0-37"
...
Input Command: -extra-debug packs
Enter Server: mco.mineplex.com
time="2023-04-11T16:49:20+07:00" level=info msg="Connecting to mco.mineplex.com:19132"
time="2023-04-11T16:49:24+07:00" level=debug msg="\x1b[36mC\x1b[0m->\x1b[32mS\x1b[0m 0xc1, packet.RequestNetworkSettings"
time="2023-04-11T16:49:24+07:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x8f, packet.NetworkSettings"
time="2023-04-11T16:49:24+07:00" level=debug msg="\x1b[36mC\x1b[0m->\x1b[32mS\x1b[0m 0x01, packet.Login"
time="2023-04-11T16:49:24+07:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x03, packet.ServerToClientHandshake"
2023/04/11 16:49:24 error: verify claims: square/go-jose: error in cryptographic primitive
time="2023-04-11T16:49:24+07:00" level=error msg="failed to connect to mco.mineplex.com:19132: dial minecraft 192.168.1.12:54919->108.178.12.121:19132: use of closed network connection"
time="2023-04-11T16:49:24+07:00" level=info msg="Press Enter to exit."

packets.log
packets.log.gpg

World Downloader doesnt work

i cant download most of the server maps, it just worked with hive and cube, also i wanted to test it for realms, i managed to get the ip and port of a realm but same issue.
Captura de pantalla (360)

Proxy crashes on galaxite

Describe the bug
The proxy crashes on galaxite when moving into chronos

To Reproduce
Steps to reproduce the behavior:

  1. Go to Galaxite
  2. Join Chronos
  3. Wait till the queue and countdown is up
  4. The proxy crashes when the server wants to move you to chronos

Expected behavior
The world should change as usual

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10
  • Version r1.28.0

Additional context

panic: runtime error: index out of range [8] with length 8

goroutine 128 [running]:
github.com/df-mc/dragonfly/server/world/chunk.NetworkDecode(0xfffffffe?, {0xc00c7ba000, 0x1350, 0x1350}, 0x10, {0x0, 0x7f}, 0x1, 0x0?)
github.com/df-mc/[email protected]/server/world/chunk/decode.go:29 +0x875
github.com/bedrock-tool/bedrocktool/subcommands/world.(*WorldState).processLevelChunk(0xc000a620c0, 0xc00c7b2910)
github.com/bedrock-tool/bedrocktool/subcommands/world/chunk.go:37 +0xe9
github.com/bedrock-tool/bedrocktool/subcommands/world.(*WorldState).ProcessChunkPackets(0xc000a620c0, {0xf7d7e8?, 0xc00c7b2910?})
github.com/bedrock-tool/bedrocktool/subcommands/world/chunk.go:116 +0x79
github.com/bedrock-tool/bedrocktool/subcommands/world.(*WorldCMD).Execute.func2({0xf7d7e8?, 0xc00c7b2910?}, 0xc0?, {0x24?, 0x0?, 0x185ade0?})
github.com/bedrock-tool/bedrocktool/subcommands/world/world.go:177 +0x75
github.com/bedrock-tool/bedrocktool/utils.(*ProxyContext).proxyLoop(0xc00113fa90?, {0xf82078, 0xc001c6d270}, 0x0, {0xc000376ec0, 0x2, 0xc0008418c0?})
github.com/bedrock-tool/bedrocktool/utils/proxy.go:229 +0x184
github.com/bedrock-tool/bedrocktool/utils.(*ProxyContext).Run.func2()
github.com/bedrock-tool/bedrocktool/utils/proxy.go:345 +0x72
created by github.com/bedrock-tool/bedrocktool/utils.(*ProxyContext).Run
github.com/bedrock-tool/bedrocktool/utils/proxy.go:343 +0xd0f

Crash bug when joining server

Describe the bug
Bedrocktool crashes when trying to join server

To Reproduce
Steps to reproduce the behavior:

  1. Open Bedrocktool and then type worlds
  2. type in this IP:
  3. Join the server in MC
  4. See errror

Expected behavior
It should download the world

Error message
--COPY FROM HERE--
time="2023-01-05T02:40:20Z" level=info msg="Version: v1.26.0-1-gd0ecf1c"
time="2023-01-05T02:40:20Z" level=info msg="Cmdline: [C:\Users\jbeza\Downloads\bedrocktool-v1.26.0-1-gd0ecf1c_windows_386.exe worlds]"
time="2023-01-05T02:40:20Z" level=error msg="Error: runtime error: invalid memory address or nil pointer dereference"
stacktrace from panic:
goroutine 1 [running]:
runtime/debug.Stack()
/opt/hostedtoolcache/go/1.19.4/x64/src/runtime/debug/stack.go:24 +0x83
main.main.func1()
/home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:33 +0x21e
panic({0x8234e0, 0x11eda18})
/opt/hostedtoolcache/go/1.19.4/x64/src/runtime/panic.go:884 +0x1ba
github.com/bedrock-tool/bedrocktool/subcommands/world.(*WorldState).SaveAndReset(0x12df81e0)
/home/runner/work/bedrocktool/bedrocktool/subcommands/world/world.go:343 +0x753
github.com/bedrock-tool/bedrocktool/subcommands/world.(*WorldCMD).Execute(0x12408fc0, {0x9d58c0, 0x12dca0c0}, 0x12dca120, {0x0, 0x0, 0x0})
/home/runner/work/bedrocktool/bedrocktool/subcommands/world/world.go:178 +0x2d7
github.com/google/subcommands.(*Commander).Execute(0x124880c0, {0x9d58c0, 0x12dca0c0}, {0x0, 0x0, 0x0})
/home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:209 +0x2d4
github.com/google/subcommands.Execute(...)
/home/runner/go/pkg/mod/github.com/google/[email protected]/subcommands.go:492
main.main()
/home/runner/work/bedrocktool/bedrocktool/cmd/bedrocktool/main.go:112 +0xc7b

Desktop (please complete the following information):

  • OS: Windows
  • Browser ??
  • Version 11

Additional context
Add any other context about the problem here.

World Downloader Chunk Bug

there is a bug with world donwloader sometimes chunks are broken, this was tested on a realm, also it works for other ones, but in some cases this happens with some realms.
Captura de pantalla (386)
Captura de pantalla (385)
i think that this might be happening because of custom blocks or that it cannot determine the version which is weird.

failed to connect to some servers

It seems that some servers have somehow prevented the tool from joining their servers.
For example the server play.askills.xyz. This is what I get:

Input Command: -extra-debug packs
Enter Server: play.askills.xyz
time="2023-02-20T20:39:23+07:00" level=info msg="Connecting to play.askills.xyz:19132"
...
time="2023-02-20T20:40:19+07:00" level=info msg="Disconnect {false §cProxy are not allowed in arabskills.}"
time="2023-02-20T20:40:19+07:00" level=debug msg="\x1b[32mS\x1b[0m->\x1b[36mC\x1b[0m 0x05, packet.Disconnect"
time="2023-02-20T20:40:19+07:00" level=error msg="failed to connect to play.askills.xyz:19132: dial minecraft 192.168.1.12:56083->212.87.213.113:19132: §cProxy are not allowed in arabskills."
time="2023-02-20T20:40:19+07:00" level=info msg="Press Enter to exit."

packets.log
packets.log.gpg

worlds error

error: parse login request: validate token 2: square/go-jose/jwt: validation field, token issued in the future (iat)

happens on every server ii try ^

Bug "Worlds"

Describe the bug:
Flowers, tulips and seeds are not planted

Screenshots:
Screenshot (761)

Desktop:

  • OS: Windows 10

Entity swapping when downloading The Hive's Arcade hub.

The entities in the hive arcade hub are being swapped when I download them with resource packs. Some screenshots are given below.
image
In the above image, BlockDrop NPC has been swapped with TreasureWars NPC. Capture the Flag with Murder Mystery. The Bridge with Skywars and Groudwars with Skywars Kits. Also, the Block Party NPC and Hologram (The title of the game above the NPC) has been replaced with two animal entities. All of the swapped entities are from The Hive's main hub.
More images with such replacements.
image
image
image
The issue doesn't happen in the main hub. Just the arcade one.
World download if you need it (its only the spawn of the arcade hub). Convert the .zip into a .mcworld (GitHub doesn't support .mcworld)
world-1.zip

Custom Blocks Don't Save

Hey olebeck,
StrafeYourself here, So I have had some minor issues with the bedrock tool, So I am trying to archive the hive charismas hub however, however since the hive added custom blocks in the hub bedrock tool does not know how to save it turning all the chunks containing a custom block into air. Anyway, here is the error I really do hope you can fix it before the charismas hive hub disappears. Since it is a yearly event sought of thing and it would cause me great pain just to pain until next year.

time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_wide_gift_box_yellow{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_snowy_stone_transition{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_snowy_stone_transition{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_dark_metal_truss_pane{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_blue{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_green{map[custom:facing_direction:3]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_white{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_blue{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_green{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_dark_metal_truss_pane{map[custom:facing_direction:3]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_wide_gift_box_red{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_green{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_green{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_red{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_green{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_wide_gift_box_yellow{map[custom:facing_direction:3]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_red{map[custom:facing_direction:3]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_spruce_large_planks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_red_painted_toy_train{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_toy_bear{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_pink_toy_bear{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_red{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_white{map[custom:facing_direction:3]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_wide_gift_box_green{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_white{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_cookies_and_milk{map[custom:facing_direction:1]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_blue{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:07+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_terracotta_bricks{map[]}"
time="2022-12-25T12:32:08+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_white{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:08+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_green{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:08+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_green{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:08+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_white{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:08+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_blue{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:38+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_white{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:39+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_green{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:39+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_gift_box_green{map[custom:facing_direction:2]}"
time="2022-12-25T12:32:44+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_white{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:44+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_blue{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:50+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_white{map[custom:facing_direction:0]}"
time="2022-12-25T12:32:51+10:00" level=error msg="cannot get runtime ID of block state hive:zzub_tall_gift_box_blue{map[custom:facing_direction:0]}"

Remarks StrafeYourself

unable to connect to pixel paradise

Hi, with Fiddler I found the address for PIxel Paradise, play.pixelparadise.gg.
I can't get bedrocktool to connect to it though. The packs command won't connect. The worlds command won't connect.
enabling preload for the worlds command doesn't change anything.

Although, since the first thing I tried to connect with was a cheat client (to try to get the server address that way), maybe they banned my device id. I can still connect to them with my tablet though.
Can't connect to them on my win11 laptop with unmodded minecraft. unsure if banned or if this is currently normal behavior.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.