nelderson / mv_online Goto Github PK
View Code? Open in Web Editor NEWRPGMaker Online Core
Home Page: http://www.neldersongaming.com
License: MIT License
RPGMaker Online Core
Home Page: http://www.neldersongaming.com
License: MIT License
iOS Input fields and buttons not working as on a computer. After some testing it looks like the click events need to be re-worked, and the input fields need to be focused on with tap events in jquery.
how can i change the address to (115. ****: 8000/static/project) become address to *( ***.tk) my ?
I have edited the cors.js config file but nothing changed
Helo Nelderson. Conglatullation from this project.
I have been trying to start server, but this is not work. Appear this message above:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]prestart: [email protected]prestart: no script for prestart, continuing
6 silly lifecycle [email protected]
7 info lifecycle [email protected]start: [email protected]start: unsafe-perm in lifecycle true
8 verbose lifecycle [email protected]
9 verbose lifecycle [email protected]start: PATH: /usr/share/npm/bin/node-gyp-bin:/home/ubuntu/mv_server/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/binstart: CWD: /home/ubuntu/mv_server
10 verbose lifecycle [email protected]
11 silly lifecycle [email protected]start: Args: [ '-c', 'node server.js' ]start: Returned: code: 1 signal: null
12 silly lifecycle [email protected]
13 info lifecycle [email protected]~start: Failed to exec start script
14 verbose stack Error: [email protected] start: node server.js
14 verbose stack Exit status 1
14 verbose stack at EventEmitter. (/usr/share/npm/lib/utils/lifecycle.js:232:16)
14 verbose stack at emitTwo (events.js:87:13)
14 verbose stack at EventEmitter.emit (events.js:172:7)
14 verbose stack at ChildProcess. (/usr/share/npm/lib/utils/spawn.js:24:14)
14 verbose stack at emitTwo (events.js:87:13)
14 verbose stack at ChildProcess.emit (events.js:172:7)
14 verbose stack at maybeClose (internal/child_process.js:821:16)
14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
15 verbose pkgid [email protected]
16 verbose cwd /home/ubuntu/mv_server
17 error Linux 4.4.0-98-generic
18 error argv "/usr/bin/nodejs" "/usr/bin/npm" "start"
19 error node v4.2.6
20 error npm v3.5.2
21 error code ELIFECYCLE
22 error [email protected] start: node server.js
22 error Exit status 1
23 error Failed at the [email protected] start script 'node server.js'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the mvonline package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error node server.js
23 error You can get information on how to open an issue for this project with:
23 error npm bugs mvonline
23 error Or if that isn't available, you can get their info via:
23 error npm owner ls mvonline
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]
Please, help me friend.
since there was a bit of discussion about how usernames should be solved, especially given that players could abuse the system and have dozens of characters with the same name, i'd like to share my thoughts on this. how about making it like this:
have each user register with an email (that also counts as the account name) and a password. send registration code to email, allow user to change email and password later on yada yada..
in-game there will probably be those kinds of games:
players barely interact with each other so a simple username is ok for identification and metrics; usernames don't have to be "roleplayish";
mmorpg like where lots of players have characters and interact with each other; each name will have to be unique, but some players will also want to have roleplayish names;
players interact a lot with each other in a probably somewhat fixed story; can't change names and has to chose pre defined characters with names; since those games will probably have limited multiplayer features and will be more like party games for friends it won't be neccessary to differentiate between lots of players
so the best thing to do would be to let game makers decide on whether players can chose a name for their account, or whether they have to select (a pre defined character with) a name. possibly even allow them to let players have the same names (after all the server can still identify them based on email)
i think it should also be possible to set rules for custom user names, like swear word dictionaries, uniqueness, only letters, or maybe you have to chose a first and a last name (allow spaces), etc.
something else i think would be great is: some mmos allow players to have multiple characters without the need for seperate accounts; allow game makers to have multiple characters/usernames on one account/email-adress.
Please update new connection script using new version of mongodb . Thank you
Hello Nelderson. Only the desktop version works and on localhost. If you try to use it on your mobile phone with wi-fi it is not working and it will be locked on the screen of the image that I sent. I await your help.
In the image below you have an error example using the Droid4X android emulator.
The error only happens if you try to use with android.
https://i.imgur.com/DpMveXt.png
This error when opening menu when there are 3 players on a map
The two are perfectly fine, it only happens on 3 players
Plugin_Online_Network
rpg_managers.js:1920 http://tencore.sytes.net:3000/static/sao2dvn/js/rpg_objects.js 5673
SceneManager.onError @ rpg_managers.js:1920
rpg_objects.js:5673 Uncaught TypeError: Cannot read property 'scrollType' of null
at Game_Map.isLoopHorizontal (rpg_objects.js:5673)
at Game_Map.roundX (rpg_objects.js:5723)
at Game_Map.roundXWithDirection (rpg_objects.js:5739)
at Game_NetworkPlayer.Game_CharacterBase.canPass (rpg_objects.js:6390)
at Game_NetworkPlayer.Game_CharacterBase.moveStraight (rpg_objects.js:6691)
at Socket. (:3000/static/sao2dvn/js/plugins/Online_Network_Players.js:87)
at Socket.Emitter.emit (socket.io.js:1)
at Socket.onevent (socket.io.js:1)
at Socket.onpacket (socket.io.js:1)
at Manager. (socket.io.js:1)
rpg_managers.js:1919 Uncaught TypeError: Cannot read property 'scrollType' of null
SceneManager.onError @ rpg_managers.js:1919
rpg_managers.js:1920 http://tencore.sytes.net:3000/static/sao2dvn/js/rpg_objects.js 5673
SceneManager.onError @ rpg_managers.js:1920
rpg_objects.js:5673 Uncaught TypeError: Cannot read property 'scrollType' of null
at Game_Map.isLoopHorizontal (rpg_objects.js:5673)
at Game_Map.roundX (rpg_objects.js:5723)
at Game_Map.roundXWithDirection (rpg_objects.js:5739)
at Game_NetworkPlayer.Game_CharacterBase.canPass (rpg_objects.js:6390)
at Game_NetworkPlayer.Game_CharacterBase.moveStraight (rpg_objects.js:6691)
at Socket. (:3000/static/sao2dvn/js/plugins/Online_Network_Players.js:87)
at Socket.Emitter.emit (socket.io.js:1)
at Socket.onevent (socket.io.js:1)
at Socket.onpacket (socket.io.js:1)
at Manager. (socket.io.js:1)
POST /cloudsave/savetocloud 413 34.383 ms - 2182
PayloadTooLargeError: request entity too large
at readStream (C:\Users....\server\node_modules\raw-body\index,js:155:17)
at readStream (C:\Users....\server\node_modules\raw-body\index,js:155:12)
...
...
...
...
Hey Nelderson, I am getting an error on my game client of
ReferenceError $ is not defined
whenever I add the login core.
do you know how to fix this?
the same error also occurs on save or new file load with the plugin Online Chat
Hello im got error in console in whit new savecloud version
OPTIONS /cloudsave/savetocloud 403 0.392 ms - 48
and reload page have this error : Cloudsave Failed
Add in Register form Password comfirmation. many poeple talke me please confirme my password have write fast password.
If you open the login screen for a second time (e.g. via plugin command), it will fail to create the actual login form and be stuck.
Hey nels, i have idea to login form ๐
First , u must add forget password to your login form
Second , u must force Game End > To Title into Game End > Logout / Exit game
The last is very important , save cloud bug.
The bug is came when u try to save to cloud with 2 player connecting with same map with u.
So this is the very important, can u fix this bug so every player can save with map when other player connecting behind him. Thank you
Can you add other players' names to the map?
"Save Dato Too Big" and what do I need to do to save it to my server? What do I need to adjust?
Currently the login-scripts do not check wether or not an account is already logged in and allow any new client/connection with the same login credentials.
I Use The Method From The Nelderson
app.use(function(req,res,next){
res.setHeader('Access-Control-Allow-Origin', 'https://howserver.ddns.net/');
next();
});
and This Code From shadowoffice
var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type, x-access-token');
if (req.method === "OPTIONS")
res.send(200);
else
next();
}
But Still Display This https://imgur.com/a/CHKLN
Left is Client Right Is Console.
server.js ------> https://hastebin.com/ohesedemif.php
config.js -----> https://hastebin.com/ehucijaren.scala
Console Running As Ubuntu Server 16.04.2 LTS & NodeJS v8.7.0 (lastest) and NPM v5.4.2
Hey! Im using Quasis abs plugin. Me and my friend can see each other in game but we both have our own mobs. I mean like, My friend attacks monster and kills it but to me all i can see him walking around even tho he really is killing a monster. Havent set up the cloudsave yet. Do you need it so we could both kill the monster same time and see my when my friend attacks it. I cant see his attack animations either.
Any ideas?
Throughout the code there are a lot of inconsistencies in style to the JavaScript standard as defined here; https://github.com/standard/standard. It might be worth changing this as it would generally improve code readability to other contributors or users. This should actually be pretty trivial to achieve as well due to the number of plugins that will do it automatically in the editor such as this one for Atom; https://atom.io/packages/format-standard.
I understand this may not be an "official" standard but it is highly recommended by developers to be used as such.
Can you make Online Chat display message on player's head instead of right in chat room? like Nasty_Pop_Eent
is support for the Steamworks API planned? obviously i can't imagine this to work if you'd just throw together MV_Online and say OrangeGreenworks and expect them to not break each other, or at least everything would have to be made seperate, once for steam and once for the self hosted server... so do you think it'd be possible to add steam support later on and let users chose which to use? (user login, cloud, achievements, screenshots, friends, etc, etc)
express deprecated res.json(status, obj): instead Api_routes\login_routes:160 ...
...
...
Why ?
hey Nelderson
I'me getting an error of "Error: Cannot find module './configurations/config'" before the server shuts down by itself
what am i doing wrong?
here is the debug log
0 info it worked if it ends with ok 1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe', 1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'start' ] 2 info using [email protected] 3 info using [email protected] 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle [email protected]~prestart: [email protected] 6 silly lifecycle [email protected]~prestart: no script for prestart, continuing 7 info lifecycle [email protected]~start: [email protected] 8 verbose lifecycle [email protected]~start: unsafe-perm in lifecycle true 9 verbose lifecycle [email protected]~start: PATH: C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin;C:\Users\Administrator\Desktop\MV_Online-master\server\node_modules\.bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Amazon\cfn-bootstrap\;C:\Program Files\nodejs\;C:\Program Files\Git\cmd;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;C:\Users\Administrator\AppData\Roaming\npm 10 verbose lifecycle [email protected]~start: CWD: C:\Users\Administrator\Desktop\MV_Online-master\server 11 silly lifecycle [email protected]~start: Args: [ '/d /s /c', 'node server.js' ] 12 silly lifecycle [email protected]~start: Returned: code: 1 signal: null 13 info lifecycle [email protected]~start: Failed to exec start script 14 verbose stack Error: [email protected] start:
node server.js14 verbose stack Exit status 1 14 verbose stack at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:255:16) 14 verbose stack at emitTwo (events.js:106:13) 14 verbose stack at EventEmitter.emit (events.js:191:7) 14 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:40:14) 14 verbose stack at emitTwo (events.js:106:13) 14 verbose stack at ChildProcess.emit (events.js:191:7) 14 verbose stack at maybeClose (internal/child_process.js:891:16) 14 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) 15 verbose pkgid [email protected] 16 verbose cwd C:\Users\Administrator\Desktop\MV_Online-master\server 17 error Windows_NT 10.0.14393 18 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start" 19 error node v6.11.2 20 error npm v3.10.10 21 error code ELIFECYCLE 22 error [email protected] start:
node server.js22 error Exit status 1 23 error Failed at the [email protected] start script 'node server.js'. 23 error Make sure you have the latest version of node.js and npm installed. 23 error If you do, this is most likely a problem with the mvonline package, 23 error not with npm itself. 23 error Tell the author that this fails on your system: 23 error node server.js 23 error You can get information on how to open an issue for this project with: 23 error npm bugs mvonline 23 error Or if that isn't available, you can get their info via: 23 error npm owner ls mvonline 23 error There is likely additional logging output above. 24 verbose exit [ 1, true ]
and here is the server.js
`//=============================================================================
// Nelderson's Online Core Server
// Version: 0.2.1 - August 3rd, 2017
//=============================================================================
var express = require('express');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var config = require('./configurations/config');
var bodyParser = require('body-parser');
var logger = require('morgan'); //For development
var socketioJwt = require('socketio-jwt');
var log = require('tracer').colorConsole(config.loggingConfig);
app.use(logger('dev'));//For development
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
server.listen(config.port);
log.info('Server is on bruh and running on port: '+ config.port);
app.use(function(req,res,next){
res.setHeader('Access-Control-Allow-Origin', 'http://13.54.225.65:8000');
next();
});
//----------------------------------
// SET ROUTES FOR EXPRESS API HERE:
//----------------------------------
// No Authentication required:
app.use('/',require('./api_routes/login_routes'));
// Authentication required:
app.use('/example',require('./api_routes/example.js'));
app.use('/metrics',require('./api_routes/metrics'));
app.use('/cloudsave',require('./api_routes/cloudsave.js'));
//Static Server - Used to serve static files (HTNL,PNG,etc.)
app.use('/static', express.static('public'));
//----------------------------------
// ADD SOCKET IO MODULES HERE:
//----------------------------------
var exampleSocket = require('./socket_modules/exampleSocket');
var chat = require('./socket_modules/chat');
var netplayers = require('./socket_modules/netplayer');
//Pre Socket Processes Here (Mostly for Database connections)
var loginDBConnection = require('./api_routes/loginDBConnection')();
//Authorize socket connection with token from login
io.set('authorization', socketioJwt.authorize({
secret: config.jwtSecret,
handshake: true
}));
//When first connected to Socket.io
io.on('connection', function(socket){
io.clients(function(error, clients){
if (error) throw error;
log.info("There are " + clients.length + " players connected");
});
});
//----------------------------------
// BIND SOCKET IO MODULES HERE:
//----------------------------------
exampleSocket(io);
chat(io);
netplayers(io);
`
rpg_managers.js:1954 TypeError: this.setTextOptions is not a function
at Game_Player.refresh (Online_Network_Players.js:190)
at Game_Player.refresh (
Hm.....
So i set my server using aws. I deployed my game and hit the game.exe launcher and sent this deployed version to my friend too and we both did get to game and play but didnt see each other. Server said 2 players are connected. When i try to launch from index and play it on web browser it says: missing data: map002.
Does anyone have idea what im doing wrong? Do i need to set cloudsave first or something?
And is there a difference to make game work on web browser and from game.exe on your desktop?
Im kinda stuck so if anyone have something in mind that could help please say it :P Thanks
Currently features such as chat and login are using custom elements outside of the engine to render these input windows, this creates an inconsistency for consumers of the plugins who are expecting to be able to use their RPG Maker MV windowskins for these features. I think a useful mantra to adopt would be making sure that we are following the window style of RPG Maker meaning features such as windowskins can be applied without any issues.
After requesting to re-send the password, and get a temporary password on the email, I used a temporary password to login but failed
And I do not see the password change button
I don't really understand the functionality of this plugin,Can you tell me a little about this plugin, what does it do for the Online project? Thanks for watching.
Hello,
I can connect to my server via the Desktop export.
But not via the web export.
Why?
I forwarded the ports, could this be a issue?
-EDIT-
Here is a image showing:
https://imgur.com/a/dUttD
left is my website, right is the client. Both on the same version.
-Another EDIT-
Okay, so I noticed my server is saying the /login and /register etc.
But nothing happens in the client.
Players can create squads to participate in battles
Failed to load resource: the server responded with a status of 403 (Forbidden)
Uncaught TypeError: Cannot read property 'clearNetworkPlayer' of undefined
It happens when there are many other players in a map when I open the menu for too long (ie 5 seconds or more and there are more than 4 people running in a map)
Your project is really great, and I think there are still holes in plugins like "2 people can not see a common event, ie even though player A picks up the chest, but player B still picks up be the chest"
And it would be even better if we could fight together: D
Uncaught TypeError: Cannot read property 'createNetworkPlayer' of undefined
at Game_Map.addNetworkPlayer (Online_Network_Players.js:197)
at Socket. (Online_Network_Players.js:77)
at Socket.Emitter.emit (socket.io.js:1)
at Socket.onevent (socket.io.js:1)
at Socket.onpacket (socket.io.js:1)
at Manager. (socket.io.js:1)
at Manager.Emitter.emit (socket.io.js:1)
at Manager.ondecoded (socket.io.js:1)
at Decoder. (socket.io.js:1)
at Decoder.Emitter.emit (socket.io.js:1)
I notice this error when passing a new map?
Uncaught TypeError: Cannot read property 'scrollType' of null
SceneManager.onError @ rpg_managers.js:1919
rpg_managers.js:1920 http://171.250.64.116:3000/static/sao2dvn/js/rpg_objects.js 5673
SceneManager.onError @ rpg_managers.js:1920
rpg_objects.js:5673 Uncaught TypeError: Cannot read property 'scrollType' of null
at Game_Map.isLoopHorizontal (rpg_objects.js:5673)
at Game_Map.roundX (rpg_objects.js:5723)
at Game_Map.roundXWithDirection (rpg_objects.js:5739)
at Game_NetworkPlayer.Game_CharacterBase.canPass (rpg_objects.js:6390)
at Game_NetworkPlayer.Game_CharacterBase.moveStraight (rpg_objects.js:6691)
at Game_NetworkPlayer.Game_CharacterBase.moveStraight (MOG_ChronoEngine.js:7427)
at Socket. (Online_Network_Players.js:87)
at Socket.Emitter.emit (socket.io.js:1)
at Socket.onevent (socket.io.js:1)
at Socket.onpacket (socket.io.js:1)
rpg_managers.js:1919 Uncaught TypeError: Cannot read property 'clearNetworkPlayer' of undefined
SceneManager.onError @ rpg_managers.js:1919
rpg_managers.js:1920 http://171.250.64.116:3000/static/sao2dvn/js/plugins/Online_Network_Players.js 203
SceneManager.onError @ rpg_managers.js:1920
Online_Network_Players.js:203 Uncaught TypeError: Cannot read property 'clearNetworkPlayer' of undefined
at Game_Map.clearNetworkPlayer (Online_Network_Players.js:203)
at Socket. (Online_Network_Players.js:122)
at Socket.Emitter.emit (socket.io.js:1)
at Socket.onevent (socket.io.js:1)
at Socket.onpacket (socket.io.js:1)
at Manager. (socket.io.js:1)
at Manager.Emitter.emit (socket.io.js:1)
at Manager.ondecoded (socket.io.js:1)
at Decoder. (socket.io.js:1)
at Decoder.Emitter.emit (socket.io.js:1)
Game_Map.clearNetworkPlayer @ Online_Network_Players.js:203
(anonymous) @ Online_Network_Players.js:122
Emitter.emit @ socket.io.js:1
Socket.onevent @ socket.io.js:1
Socket.onpacket @ socket.io.js:1
(anonymous) @ socket.io.js:1
Emitter.emit @ socket.io.js:1
Manager.ondecoded @ socket.io.js:1
(anonymous) @ socket.io.js:1
Emitter.emit @ socket.io.js:1
Decoder.add @ socket.io.js:3
Manager.ondata @ socket.io.js:1
(anonymous) @ socket.io.js:1
Emitter.emit @ socket.io.js:1
Socket.onPacket @ socket.io.js:1
(anonymous) @ socket.io.js:1
Emitter.emit @ socket.io.js:1
Transport.onPacket @ socket.io.js:1
Transport.onData @ socket.io.js:1
ws.onmessage @ socket.io.js:2
I think it would be good to add licensing to project if someone would like implement your source code.
Hm...
After a certain period of time playing the game on the browser, namely 4 minutes 30 seconds, the "cloudsave plugin" no longer works.
Request for chat by character name not username option to appear in the Online Chat plugin/server module.
Add a character limit on the account name, as other players may put it too long and the names are not culturally.
Online_Chat plugin using PluginCommand Enable and Sendmessenger command failed
Add generic password reset logic to both the API and client.
Every 3 or more players, when I open the menu or other maps, the screen is white opaque
hey Nelderson, I am getting an error of
Cannot GET /activate/
on the HTML/HTTP side and on the server side an error of
GET /activate/ 404 0.218 ms - 148
.
do you have any idea on how to fix this?
Currently in the main config.js file we have several sections used across numerous files, moving forward separating these into smaller config files could be beneficial as it would follow the separation of concerns principle. Having these smaller more granular files means that we can access only the properties we need in modules rather than having unnecessary ones.
The end result for this change would be a file structure similar to the example below;
i know that it's already possible to save a players game to the server, but i'm not sure if you have already added a nice way for managing variables that are consistent for all players. for example for a time system it wouldn't make sense to save the time variable to the player save, will you plugin offer something for this? or variable switches that are activated for all players/for the whole map, as soon as one player has triggered event xyz. saving those things to the server would be perfect.
Hi, conglatulations by server.
I've been take this error when the users make a user. When the server send email to activate, appear this message e don't send email. Somebody to help me?
ERROR DISPLAYED:
(node:3252) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejec
tion id: 1): Error: self signed certificate in certificate chain
(node:3252) [DEP0018] DeprecationWarning: Unhandled promise rejections are depre
cated. In the future, promise rejections that are not handled will terminate the
Node.js process with a non-zero exit code.
Ok i new bug need streaming ogg on server socket io or anytime have error 404 for got audio ๐
so now checking for coding this part ๐
exemple socket Server side
socket.on('receiveaudio' , function(media)
{
console.log(media); //but here i am receiving it as a simple object
other.src= media;
});
And Exemple client side
navigator.getUserMedia({audio: true, video: false}, function(stream) {
video.src = window.URL.createObjectURL(stream);
webcamstream = stream;
media = stream; /// here the datatype of media is mediaStream object
socket.emit("sendaudio", media);
}, function(e){
console.log(error);
});
When trying to connect with any other browser other than the RPG Maker MV's native client, it blocks the connection due to "Same Originin Policy".
Console Error:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://<IP>:8000/login. (Reason: CORS header โAccess-Control-Allow-Originโ missing).
This still happens, even if you open the index.html directly in the browser.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.