Git Product home page Git Product logo

slp-server-rust's Introduction

slp-server-rust's People

Contributors

spacemeowx2 avatar treyturner avatar user890104 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

slp-server-rust's Issues

Connection reset by peer (os error 104)

Running v2.0.0-rust.alpha.6, relase "slp-server-rust-linux-amd64"
System OS: Ubuntu 18.04 LTS Server on i7 920, Alpha 5 works perfect.
xxx@li7:~/rustserver$ ./slp-server-rust-linux-amd64.alpha6
[2020-04-12T12:15:06Z INFO slp_server_rust] Listening on 0.0.0.0:11451
Ws error: Websocket error: WebSocket protocol error: Connection reset without closing handshake
Ws error: Websocket error: WebSocket protocol error: Connection reset without closing handshake
Ws error: Websocket error: IO error: Connection reset by peer (os error 104)

disable graphql?

I try to setup a server. when I access ${ip}:11451, it shows a graphql page.

Is there any way to disable it if I don't want to use admin feature

armv7 error

Message appears during use

Ws error: Websocket error: WebSocket protocol error: Connection reset without closing handshake
Ws error: Websocket error: WebSocket protocol error: Connection reset without closing handshake

disable graphql?

I try to setup a server. when I access ${ip}:11451, it shows a graphql page.

Is there any way to disable it if I don't want to use admin feature

v2.0.0-rust.alpha.5 (armv7)

[2020-04-08T10:11:52Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 212, 171, 5, 0, 0, 64, 17, 139, 203, 10, 13, 47, 47, 10, 13, 255, 255, 48, 57, 48, 57, 0, 192, 254, 180, 50, 171, 152, 100, 133, 0, 0, 0, 150, 191, 113, 78, 25, 138, 156, 37, 129, 226, 55, 117, 44, 3, 222, 227, 23, 204, 166, 37, 181, 41, 146, 14, 139, 151, 71, 231, 223, 77, 240, 23, 25, 214, 217, 137, 171, 211, 81, 4, 110, 236, 213, 37, 38, 85, 59, 98, 239, 99, 17, 113, 161, 7, 248, 139, 228, 135, 107, 120, 97, 195, 33, 115, 103, 179, 210, 126, 11, 105, 163, 23, 136, 240, 74, 47, 90, 231, 136, 26, 190, 58, 108, 162, 12, 117, 68, 201, 190, 219, 254, 108, 250, 21, 43, 85, 229, 31, 225, 146, 43, 68, 131, 226, 168, 244, 237, 240, 131, 7, 230, 16, 181, 131, 181, 76, 36, 157, 94, 201, 9, 171, 38, 161, 18, 202, 207, 113, 248, 194, 127, 57, 202, 104, 226, 130, 17, 228, 83, 139, 80, 31, 110, 146, 101, 141, 147, 17, 201, 4, 165, 187, 176, 150, 128, 240, 232, 54, 111, 48, 127, 150, 131, 63, 38, 47, 105, 143, 40, 212, 53, 151, 144, 192, 174, 239], V4(67.216.48.94:54161)))
[2020-04-08T10:11:52Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 100, 171, 79, 0, 0, 64, 17, 139, 241, 10, 13, 47, 47, 10, 13, 255, 255, 48, 57, 48, 57, 0, 80, 111, 79, 50, 171, 152, 100, 133, 0, 0, 0, 150, 191, 113, 78, 25, 138, 156, 111, 218, 37, 203, 117, 60, 54, 58, 80, 134, 64, 183, 196, 140, 81, 116, 157, 42, 32, 191, 107, 73, 239, 122, 32, 253, 39, 55, 165, 17, 39, 173, 228, 47, 106, 103, 155, 195, 7, 255, 106, 233, 26, 156, 169, 218, 177, 104, 71, 113, 61, 60, 226, 0, 40, 17, 35], V4(67.216.48.94:54161)))
[2020-04-08T10:11:52Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 212, 170, 231, 0, 0, 64, 17, 139, 233, 10, 13, 47, 47, 10, 13, 255, 255, 48, 57, 48, 57, 0, 192, 5, 130, 50, 171, 152, 100, 133, 0, 0, 0, 150, 191, 113, 78, 25, 138, 156, 7, 233, 209, 170, 227, 165, 118, 138, 123, 162, 202, 250, 161, 211, 183, 168, 241, 100, 161, 180, 42, 196, 3, 72, 132, 91, 234, 197, 254, 54, 75, 163, 244, 14, 80, 154, 174, 53, 121, 221, 254, 229, 229, 53, 113, 226, 42, 149, 187, 196, 27, 112, 249, 228, 106, 226, 19, 64, 235, 27, 250, 27, 247, 146, 23, 235, 21, 208, 201, 243, 106, 250, 236, 233, 210, 85, 109, 82, 114, 30, 190, 154, 134, 123, 26, 45, 166, 199, 150, 164, 248, 97, 221, 191, 11, 133, 144, 232, 123, 185, 57, 32, 243, 128, 25, 205, 187, 170, 131, 209, 105, 70, 122, 77, 249, 146, 93, 197, 92, 111, 34, 131, 61, 13, 176, 27, 202, 4, 252, 210, 156, 69, 141, 2, 93, 61, 114, 209, 144, 184, 45, 238, 11, 167, 161, 135, 249, 67, 88, 154, 249, 185, 178, 228, 147, 174, 86, 6, 186, 64, 154, 118, 153, 175, 102, 145, 92, 125, 162], V4(67.216.48.94:54161)))
[2020-04-08T10:11:56Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 212, 171, 5, 0, 0, 64, 17, 139, 203, 10, 13, 47, 47, 10, 13, 255, 255, 48, 57, 48, 57, 0, 192, 254, 180, 50, 171, 152, 100, 133, 0, 0, 0, 150, 191, 113, 78, 25, 138, 156, 37, 129, 226, 55, 117, 44, 3, 222, 227, 23, 204, 166, 37, 181, 41, 146, 14, 139, 151, 71, 231, 223, 77, 240, 23, 25, 214, 217, 137, 171, 211, 81, 4, 110, 236, 213, 37, 38, 85, 59, 98, 239, 99, 17, 113, 161, 7, 248, 139, 228, 135, 107, 120, 97, 195, 33, 115, 103, 179, 210, 126, 11, 105, 163, 23, 136, 240, 74, 47, 90, 231, 136, 26, 190, 58, 108, 162, 12, 117, 68, 201, 190, 219, 254, 108, 250, 21, 43, 85, 229, 31, 225, 146, 43, 68, 131, 226, 168, 244, 237, 240, 131, 7, 230, 16, 181, 131, 181, 76, 36, 157, 94, 201, 9, 171, 38, 161, 18, 202, 207, 113, 248, 194, 127, 57, 202, 104, 226, 130, 17, 228, 83, 139, 80, 31, 110, 146, 101, 141, 147, 17, 201, 4, 165, 187, 176, 150, 128, 240, 232, 54, 111, 48, 127, 150, 131, 63, 38, 47, 105, 143, 40, 212, 53, 151, 144, 192, 174, 239], V4(67.216.48.94:54161)))
[2020-04-08T10:11:56Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 40, 171, 123, 0, 0, 64, 17, 140, 1, 10, 13, 47, 47, 10, 13, 255, 255, 44, 188, 44, 188, 0, 20, 29, 224, 0, 20, 69, 17, 0, 0, 0, 0, 0, 0, 0, 0], V4(67.216.48.94:54161)))
[2020-04-08T10:11:56Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 212, 170, 227, 0, 0, 64, 17, 139, 237, 10, 13, 47, 47, 10, 13, 255, 255, 48, 57, 48, 57, 0, 192, 97, 158, 50, 171, 152, 100, 133, 0, 0, 0, 150, 191, 113, 78, 25, 138, 156, 3, 35, 38, 128, 53, 99, 97, 45, 4, 8, 191, 245, 139, 215, 28, 232, 230, 114, 189, 122, 129, 243, 186, 233, 222, 95, 165, 35, 48, 247, 247, 12, 160, 106, 196, 95, 69, 182, 16, 145, 34, 60, 201, 159, 166, 217, 9, 179, 35, 136, 70, 188, 164, 28, 246, 150, 131, 104, 97, 224, 52, 212, 59, 127, 33, 20, 138, 153, 52, 161, 165, 48, 141, 16, 172, 152, 68, 141, 100, 210, 122, 64, 240, 247, 31, 157, 197, 37, 174, 182, 43, 115, 20, 209, 45, 185, 161, 116, 105, 203, 225, 29, 189, 121, 196, 42, 175, 38, 207, 213, 180, 16, 168, 144, 226, 243, 77, 107, 247, 107, 60, 121, 232, 12, 164, 113, 184, 165, 109, 142, 163, 81, 161, 170, 86, 158, 123, 232, 196, 154, 149, 35, 53, 155, 80, 246, 105, 145, 206, 92, 234, 142, 229, 50, 150, 82, 249, 255, 6, 104, 152, 45, 242, 251, 52, 156, 147, 197, 225], V4(67.216.48.94:54161)))
[2020-04-08T10:11:57Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 212, 170, 239, 0, 0, 64, 17, 139, 225, 10, 13, 47, 47, 10, 13, 255, 255, 48, 57, 48, 57, 0, 192, 11, 139, 50, 171, 152, 100, 133, 0, 0, 0, 150, 191, 113, 78, 25, 138, 156, 15, 110, 115, 212, 5, 196, 106, 127, 251, 13, 184, 119, 99, 13, 127, 139, 27, 88, 184, 53, 231, 40, 85, 102, 176, 61, 33, 244, 127, 50, 15, 136, 248, 238, 30, 45, 40, 73, 251, 228, 153, 176, 32, 84, 186, 99, 117, 151, 158, 186, 130, 133, 90, 200, 206, 77, 35, 130, 90, 238, 165, 124, 50, 182, 114, 22, 232, 161, 144, 35, 250, 74, 181, 52, 185, 202, 34, 151, 102, 115, 80, 211, 204, 47, 100, 129, 190, 207, 113, 183, 77, 177, 254, 222, 154, 44, 236, 170, 104, 136, 142, 115, 159, 231, 204, 162, 217, 64, 194, 247, 201, 104, 126, 134, 155, 188, 139, 20, 236, 230, 141, 97, 220, 137, 16, 223, 215, 115, 116, 190, 64, 184, 162, 128, 194, 122, 73, 88, 23, 49, 143, 41, 165, 32, 15, 54, 50, 96, 139, 86, 100, 91, 140, 0, 6, 241, 156, 245, 7, 112, 136, 97, 39, 170, 27, 255, 134, 22, 68], V4(67.216.48.94:54161)))
[2020-04-08T10:11:57Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 40, 171, 117, 0, 0, 64, 17, 140, 7, 10, 13, 47, 47, 10, 13, 255, 255, 44, 188, 44, 188, 0, 20, 29, 224, 0, 20, 69, 17, 0, 0, 0, 0, 0, 0, 0, 0], V4(67.216.48.94:54161)))
[2020-04-08T10:11:57Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 40, 171, 114, 0, 0, 64, 17, 140, 10, 10, 13, 47, 47, 10, 13, 255, 255, 44, 188, 44, 188, 0, 20, 29, 224, 0, 20, 69, 17, 0, 0, 0, 0, 0, 0, 0, 0], V4(67.216.48.94:54161)))
[2020-04-08T10:11:57Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 40, 171, 114, 0, 0, 64, 17, 140, 10, 10, 13, 47, 47, 10, 13, 255, 255, 44, 188, 44, 188, 0, 20, 29, 224, 0, 20, 69, 17, 0, 0, 0, 0, 0, 0, 0, 0], V4(67.216.48.94:54161)))
[2020-04-08T10:11:57Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 1, 14, 143, 96, 0, 0, 64, 17, 146, 12, 10, 13, 21, 42, 10, 13, 47, 47, 44, 188, 44, 188, 0, 250, 198, 77, 0, 20, 69, 17, 1, 1, 230, 0, 128, 4, 0, 0, 0, 0, 96, 50, 2, 128, 111, 0, 0, 1, 0, 7, 81, 169, 92, 75, 27, 201, 41, 39, 139, 246, 92, 254, 86, 249, 207, 101, 2, 0, 0, 42, 21, 13, 10, 32, 49, 50, 51, 52, 53, 54, 55, 56, 49, 50, 51, 52, 53, 54, 55, 56, 49, 50, 51, 52, 53, 54, 55, 56, 49, 50, 51, 52, 53, 54, 55, 56, 0, 0, 6, 0, 0, 3, 2, 0, 19, 1, 0, 4, 8, 1, 42, 21, 13, 10, 2, 0, 0, 42, 21, 13, 10, 0, 0, 1, 65, 108, 101, 106, 97, 110, 100, 114, 111, 0, 24, 5, 0, 16, 21, 214, 13, 10, 2, 0, 0, 21, 214, 13, 10, 1, 0, 0, 121, 111, 111, 110, 0, 29, 5, 0, 26, 2, 0, 62, 3, 0, 62, 4, 0, 62, 5, 0, 62, 6, 0, 62, 7, 0, 54, 24, 1, 107, 149, 53, 164, 247, 200, 249, 219, 8, 16, 0, 1, 225, 205, 136, 81, 0, 7, 228, 97, 42, 140, 80, 0, 0, 117, 0, 0, 114, 0, 0, 97, 0, 0, 110, 0, 0, 97, 0, 8, 2, 0, 2, 175, 31, 197, 205, 65, 0, 0, 108, 0, 0, 101, 0, 0, 106, 0, 0, 97, 0, 0, 110, 0, 0, 100, 0, 0, 114, 0, 0, 111, 0, 204, 1, 0, 252], V4(180.3.136.19:53484)))
[2020-04-08T10:11:57Z ERROR slp_server_rust::slp::packet_stream] send_timeout err Timeout(InPacket([1, 69, 0, 0, 100, 171, 12, 0, 0, 64, 17, 140, 52, 10, 13, 47, 47, 10, 13, 255, 255, 48, 57, 48, 57, 0, 80, 238, 166, 50, 171, 152, 100, 133, 0, 0, 0, 150, 191, 113, 78, 25, 138, 156, 44, 68, 59, 160, 223, 205, 31, 49, 207, 169, 20, 231, 34, 108, 132, 84, 116, 93, 108, 174, 118, 217, 137, 61, 9, 198, 74, 207, 132, 76, 243, 104, 28, 134, 76, 231, 14, 29, 122, 160, 77, 109, 66, 55, 244, 66, 219, 156, 236, 142, 159, 127, 12, 44, 206, 209, 235], V4(67.216.48.94:54161)))

Custom Build Failed

error: failed to run custom build command for slp-server-rust v2.0.0-rust.alpha.3 (/root/slp-server-rust-master)`

Caused by:
process didn't exit successfully: /root/slp-server-rust-master/target/release/build/slp-server-rust-4dd1cb61801f6938/build-script-build (exit code: 101)
--- stderr
thread 'main' panicked at 'called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/libcore/result.rs:1165:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: build failed`

Happened when Updating from alpha1 to alpha3 and on a Fresh Install.

Update docker container

Hello,
i'm planning to run you're server on my nas with docker.
While doing some tests, i have seen that the docker container don't look updated
image
It is possible for you to do it, i honestly don't really know how to do it myself
Thanks

Build failing

The build is failing with the following errors. Fixed by #25.

   Compiling bson v1.1.0
error[E0658]: use of unstable library feature 'str_strip': newly added
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/mod.rs:65:53
   |
65 |         let (nullable, ty) = if let Some(rest) = ty.strip_suffix('!') {
   |                                                     ^^^^^^^^^^^^
   |
   = note: see issue #67302 <https://github.com/rust-lang/rust/issues/67302> for more information

error[E0658]: use of unstable library feature 'str_strip': newly added
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/mod.rs:72:40
   |
72 |             base: if let Some(ty) = ty.strip_prefix('[') {
   |                                        ^^^^^^^^^^^^
   |
   = note: see issue #67302 <https://github.com/rust-lang/rust/issues/67302> for more information

error[E0658]: use of unstable library feature 'str_strip': newly added
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/mod.rs:73:54
   |
73 |                 BaseType::List(Box::new(Self::new(ty.strip_suffix(']')?)?))
   |                                                      ^^^^^^^^^^^^
   |
   = note: see issue #67302 <https://github.com/rust-lang/rust/issues/67302> for more information

error[E0658]: use of unstable library feature 'option_zip'
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/executable.rs:29:26
   |
29 |                         .zip(op.node.name.as_ref())
   |                          ^^^
   |
   = note: see issue #70086 <https://github.com/rust-lang/rust/issues/70086> for more information

error[E0658]: use of unstable library feature 'str_strip': newly added
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/mod.rs:65:53
   |
65 |         let (nullable, ty) = if let Some(rest) = ty.strip_suffix('!') {
   |                                                     ^^^^^^^^^^^^
   |
   = note: see issue #67302 <https://github.com/rust-lang/rust/issues/67302> for more information

error[E0658]: use of unstable library feature 'str_strip': newly added
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/mod.rs:72:40
   |
72 |             base: if let Some(ty) = ty.strip_prefix('[') {
   |                                        ^^^^^^^^^^^^
   |
   = note: see issue #67302 <https://github.com/rust-lang/rust/issues/67302> for more information

error[E0658]: use of unstable library feature 'str_strip': newly added
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/mod.rs:73:54
   |
73 |                 BaseType::List(Box::new(Self::new(ty.strip_suffix(']')?)?))
   |                                                      ^^^^^^^^^^^^
   |
   = note: see issue #67302 <https://github.com/rust-lang/rust/issues/67302> for more information

error[E0658]: use of unstable library feature 'option_zip'
  --> /home/rust/.cargo/registry/src/github.com-1ecc6299db9ec823/async-graphql-parser-1.18.1/src/types/executable.rs:29:26
   |
29 |                         .zip(op.node.name.as_ref())
   |                          ^^^
   |
   = note: see issue #70086 <https://github.com/rust-lang/rust/issues/70086> for more information

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0658`.
error: could not compile `async-graphql-parser`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0658`.
error: could not compile `async-graphql-parser`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed
The command '/bin/sh -c cargo build --release' returned a non-zero code: 101

Arm6l built

Greetings and thank you for your hard work!
Could we please have a build for arm6 so that old raspberries (v1) with raspbian may have things running?

Dynamically Acquire pmtu Settings From Server

For a server that only hosts a certain game, such as Animal Crossing: New Horizons, many people aren't putting in the correct pmtu argument when connecting with LAN Play. While that's on them to follow instructions, it provides a poor experience for those that are already connected with the correct settings as the game crashes.

I propose an optional flag on the server to override or force-set the pmtu on the client. This would require an update on both the server and client, but I figured it would start with the server being able to send that data, first.

A command line argument could be something like slp-server-rust --clientpmtu 500

Feature request: Implement my anti-cheat solution

I have written an anticheat sysmodule and would like to talk with you about a lan-play-server integration. Im not familiar with rust so im struggeling to implement this myself but thought this might be something, some servers would like to have.

Basically lan-play recieving the data by my sysmodule and then blocking traffic, preventing them to join any game on this server.

Are you reachable on discord for some private discussions about this topic? My discord handle is Snyv#7598

make multi thread

hello, is there any chance to make a multi thread process like Worker from NodeJS or Clouster to distribute the connections in different threads on the same port? because when you have multiple connections from the same room/game and send a lot of packages (like Animal Crossing) makes the server to be late in processing packets because it only works in a single thread making the client crash and take a while to recover.
That is why it is better to distribute the process in several threads allowing to process all packages.

CPU Usage in Firewall

Hi,
I am using a Mikrotik as main router and a Pi to host a server and to use it with my client and whenever I run the Rust server in Screen, my Mikrotik reaches beyond 75+ in CPU usage.
Is there a way of mitigating this? It's likely some random attacks or sniffs.

关于docker pull--"version":"2.0.0-rust.alpha.11",版本的问题

已经通过群晖docker pull--laster,请问是否保持默认设置?还是需要在容器内做二次设定?是否需要增加新的环境变量?
另外:我已下载openwrt的switch-lan-play插件,服务器地址为我自己的DDNS,并设定了11451端口开放。
目前通过 http://服务器地址:11451/info查询,显示为:
{"online":2,"idle":0,"version":"2.0.0-rust.alpha.11"}
服务器端发现已启动,但是显示为**0.0.0.0:**11451,无法正确显示我的IP,该如何解决?
非常期待你的回复!
谢谢

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.