cybermor / sampvoice Goto Github PK
View Code? Open in Web Editor NEWSoftware Development Kit for implementing Pawn voice systems for SA:MP servers.
License: MIT License
Software Development Kit for implementing Pawn voice systems for SA:MP servers.
License: MIT License
I noticed that it doesn't work in my gamemode - only in filterscripts - and after some tests, I found out that there is some kind of incompatibility with foreach and / or YSI library.
In gamemode, when I put #include before #include , I get the following errors:
include\sampvoice.inc(72) : error 025: function heading differs from prototype
include\sampvoice.inc(73) : error 025: function heading differs from prototype
gamemodes \ voicetest.pwn (14): error 025: function heading differs from prototype
gamemodes \ voicetest.pwn (24): error 025: function heading differs from prototype
Error lines:
forward SV_VOID: OnPlayerActivationKeyPress (SV_UINT: playerid, SV_UINT: keyid);
forward SV_VOID: OnPlayerActivationKeyRelease (SV_UINT: playerid, SV_UINT: keyid);
public SV_VOID: OnPlayerActivationKeyPress (
public SV_VOID: OnPlayerActivationKeyRelease (
And when placing #include after #include , no error is displayed, but the voice does not work - voices do not come out.
In filterscript - where there is no use of the foreach and / or YSI library - everything works correctly.
sampvoice version: 3.0-alpha
YSI version: YSI-5.4.102
Is there any solution?
I used the script on the 3.0-alpha release. I found the key code and tried testing it ingame. It does light up, but shows this error:
[ERROR] Unable to identify pool table. Please enter the pool table again.
I am also wondering why the syntax & functions are wildly different in this release? It makes it completely incompatible with the older script I made. Also, has the release script for 3.0-alpha been tested?
The source code is not the same as that of the last release.
Hello, could you help me with something? I use sampvoice on my server, the computer works normally, now on Android, it fails to connect, would you know what it could be?
Plugins I use:
crashdetect sampvoice sscanf streamer audio ColAndreas ctime filemanager MapAndreas mysql pawncmd pawnregex whirlpool xml
Is there support for 0.3DL in the future?
Good!
I was doing an implementation of the sampvoice plugin on my server. I tested localhost with some friends and everything was fine! However, when uploading to a server host, it just doesn't work.
Detail: the plugin is connecting and recognizing everyone who has sampvoice installed normally!
I sincerely thank everyone for their help!
[sv: dbg: main: AmxLoad]: failed to bind voice server
Nice plugin!
SAMPFUNCS v5.4.1-final rel.21 (SA-MP 0.3.7-R1)
Compiled: Dec 24 2018 03:13:37
Copyright (c) 2013-2018, BlastHack Team <blast.hk>
Base address: 0x5FBA0000.
Initializing opcodes...
Opcodes initialized successfully. Total opcodes: 382.
Hook "CTimer::GetRealTimeScale" installed.
Hook "CPad::Update" installed.
Hook "CCamera::RenderMotionBlur" installed.
Hook "CScriptThread::AddScriptToQueue" installed.
Hook "CScriptThread::RemoveScriptFromQueue" installed.
Hook "CScriptThread::Process" installed.
Hook "WinMainLoop" installed.
Hook "CLoadingScreen::RenderSplash" installed.
Hook "CVehicle::CVehicle" installed.
Hook "CVehicle::~CVehicle" installed.
Hook "CPed::CPed" installed.
Hook "CPed::~CPed" installed.
samp.dll base addres: 0x03C80000
Hook "SAMP: CNetGame::CNetGame" installed.
Hook "SAMP: CDialog::Close" installed.
Hook "SAMP: QuitGame" installed.
Hook "SAMP: CCmdWindow::ProcessInput" installed.
[ML] (system) Session started.
[ML]
MoonLoader v.026.5-beta loaded.
[ML] Developers: FYP, hnnssy, EvgeN 1137
[ML] Copyright (c) 2016, BlastHack Team
[ML] http://blast.hk/moonloader/
[ML] (info) Working directory: D:\GTAByVernos\moonloader
[ML] (system) Installing pre-game hooks...
[ML] (system) Hooks installed.
**###
**
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\AntiCrasher.lua'...
[ML] (system) AntiCrasher.lua: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\AutoReboot.lua'...
[ML] (system) ML-AutoReboot: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\bypasser.lua'...
[ML] (system) bypasser.lua: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\check-moonloader-updates.lua'...
[ML] (system) Check MoonLoader Updates: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\egun.luac'...
[ML] (system) egun.luac: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\reload_all.lua'...
[ML] (system) ML-ReloadAll: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\RMD Project.luac'...
[ML] (system) RMD Project.luac: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\SF Integration.lua'...
[ML] (system) SF Integration: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\takecar.luac'...
[ML] (system) takecar.luac: Loaded successfully.
[ML] (system) Loading script 'D:\GTAByVernos\moonloader\UltraFuck.luac'...
[ML] (error) UltraFuck: D:\GTAByVernos\moonloader\UltraFuck.luac:0: module 'fAwesome5' not found:
no field package.preload['fAwesome5']
no file 'D:\GTAByVernos\moonloader\lib\fAwesome5.lua'
no file 'D:\GTAByVernos\moonloader\lib\fAwesome5\init.lua'
no file 'D:\GTAByVernos\moonloader\fAwesome5.lua'
no file 'D:\GTAByVernos\moonloader\fAwesome5\init.lua'
no file '.\fAwesome5.lua'
no file 'D:\GTAByVernos\moonloader\lib\fAwesome5.luac'
no file 'D:\GTAByVernos\moonloader\lib\fAwesome5\init.luac'
no file 'D:\GTAByVernos\moonloader\fAwesome5.luac'
no file 'D:\GTAByVernos\moonloader\fAwesome5\init.luac'
no file '.\fAwesome5.luac'
no file 'D:\GTAByVernos\moonloader\lib\fAwesome5.dll'
stack traceback:
[C]: in function 'require'
D:\GTAByVernos\moonloader\UltraFuck.luac: in function <D:\GTAByVernos\moonloader\UltraFuck.luac:0>
[ML] (error) UltraFuck: Script died due to an error. (111D0814)
[ML] (system) Installing post-load hooks...
[ML] (system) Hooks installed.
Direct3DDevice9 hook installed.
Hook "SAMP: RakPeer::HandleRPCPacket" installed.
Initializing SAMP data...
Info initialized.
Pools initialized.
Player pool initialized.
Vehicle pool initialized.
Chat initialized.
Input initialized.
Death list initialized.
Dialog initialized.
Misc data initialized.
Scoreboard initialized.
RakNet initialized.
SAMPFUNCS v5.4.1-final rel.21 (SA-MP 0.3.7-R1) completely loaded!
Hello, there is a bug in version 3.0 alpha, I am not listening to my friend and he is not listening to me, activate the debugmode and the only error is the following: [sv: dbg: main: AmxLoad]: failed to bind voice server
SA:MP 0.3.7-R1 for Client or Server?
Hi developer,
I would like to buy your 3.0 working version of the plugin, is that possible?
[root] # make
gcc -m32 -fpack-struct=1 -fpermissive -c -O3 -w -idirafter "sdk" sdk/pawn/amx/.h
g++ -m32 -fpack-struct=1 -fpermissive -c -O3 -w -idirafter "sdk" -std=c++11 sdk/pawn/.cpp
g++ -m32 -fpack-struct=1 -fpermissive -c -O3 -w -idirafter "sdk" -std=c++11 sdk/raknet/*.cpp
g++ -m32 -fpack-struct=1 -fpermissive -c -O3 -w -idirafter "sdk" -std=c++14 *.cpp
g++ -m32 -fpack-struct=1 -fpermissive -shared -O3 -static-libstdc++ -L/home/servidor/t -lbass -lm -Wl,-rpath,/home/servidor/t -o "sampvoice.so" *.o
/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/ld: skipping incompatible /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/libstdc++.a when searching for -lstdc++
/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
if you want to speak press what ?.
Hello i am using version 3.0 and my script is same as examples.
when the client hold z or b OnPlayerActivationKeyPress is called and SvAttachSpeakerToStream works but the sound cannot be heared by other clients.
please help me i really need this to work :(
Hello,
The source code available at the v3.0 alpha release apparently isn't the real 3.0 version, but the 2.0
Could you check this, please?
Thank you!
Здравствуйте, столкнулся с проблемой.
[21:07:58] [sv:dbg:main:AmxLoad] : net game pointer (value:0x8aebf28) received
[21:07:58] [sv:dbg:network:bind] : voice server running on port 36832
[21:07:58] Loaded 1 filterscripts.
[21:07:58] [sv:dbg:main:AmxLoad] : failed to bind voice server
Как это решить?Использовал код из описания.
SAMP voice isn't working with SAMPAC by whitetiger.
Please fix. we're willing to pay.
[20:25:57] Loading plugin: sampvoice.so
[20:25:57] [sv:dbg:network:init] : module initializing...
[20:25:57] [dbgraknetinit] : module initializing...
[20:25:57] [dbgraknetinit] : installed hook to 'GetRakServerInterface' functi$
[20:25:57] [dbgraknetinit] : installed hook to 'OnPlayerDisconnect' function $
[20:25:57] [dbgraknetinit] : module initialized
[20:25:57] [sv:dbg:network:init] : module initialized
[20:25:57] -------------------------------------------
[20:25:57] _ _
[20:25:57] / | \ \ / / () _
[20:25:57] \ / ` | ' | ' \ / | |/ / -)
[20:25:57] |__/,|||| .///||____|
[20:25:57] ||
[20:25:57] -------------------------------------------
[20:25:57] SampVoice by MOR loaded
[20:25:57] -------------------------------------------
u
I was testing the plugin when I got the following error "failed to bind voice server" What could it be, has a solution?
Tried install in my client, but don't it work, work only in R1 version
"Could not find plugin sampvoice. "
When i try install in other versions than no be is R1 show this message
Is it possible to get updated client side data, because repository was updated 2 years ago or maybe download but with english version of F11 menu
what can be this error?
I have added the includes in the folder /pawno/includes and /plugins/includes
[13:30:56] Error: Function not registered: 'sv_send_packet'
[13:30:56] Error: Function not registered: 'sv_get_version'
[13:30:56] Error: Function not registered: 'sv_has_micro'
[13:30:56] Error: Function not registered: 'sv_set_key'
[13:30:56] Error: Function not registered: 'sv_dlstream_create_at_player'
[13:30:56] Error: Function not registered: 'sv_stream_delete'
Is this an error in the .so? I need to compile it again?
Hi, I'm Thai. I've been using the SAMPVoice plugin for a while now. The members of I have a problem in the language of F11, because he reads the language Not russian Therefore would like you guys to translate the new plugins, thank you for the good plugins (Wrong, sorry, use translate.google)
The latest version (3.1) is always crashing with any version of Pawn.RakNet, both plugins start correctly but when loading all plugins it launches a "Server crashed due to an unknown error"
Note: If I have put sampvoice after pawn raknet and i am using Ubuntu 18.04. By the way, if I put sampvoice without pawn raknet it loads perfectly.
Where add this script ? And why i'am not hear another player ?
SCRIPT: sv_stream_player_attach(stream, playerid)
public SV_BOOL:OnPlayerVoice(
SV_UINT:playerid,
SV_PACKET:packet,
SV_UINT:volume
) {
// Îòïðàâèòü ïàêåò â ïîòîê ãîâîðÿùåãî èãðîêà
if (sgstream[playerid]) sv_packet_send(packet, sgstream[playerid]);
SendClientMessageToAll(-1, "Test");
// Óäàëèòü ïàêåò
return SV_TRUE;
}
always happens on Debian 9 x64
No One Hear Me And I Can't Hear Anyone. but My Plugin Working Perfectly
In version 3.1, a segmentation fault occurs when starting the server, if the raknet plugin is also connected (sampvoice.so goes after pawnraknet.so). In version 3.0, there is no error - the server starts successfully.
Tried on ubuntu 16 and centOS 7.
SA-MP 0.3DL
Exception At Address: 0x644EADFC in sampvoice.asi+0x3ADFC
Exception: 0xC0000005 - Access violation reading location 0x00000000
Registers:
EAX: 0x0BAF8D28 EBX: 0x043A7830 ECX: 0x00000000 EDX: 0x01A00000
ESI: 0x11C8ACF4 EDI: 0x03EAF50D EBP: 0x0177F324 ESP: 0x0177F300
EFLAGS: 0x00210216
Backtrace:
0x644EADFC in sampvoice.asi+0x3ADFC
0x11C8ACF4 in unknown
0x03E42898 in samp.dll+0xB2898
0x03E42B2F in samp.dll+0xB2B2F
ASI plugins:
audio.asi
NormalMapFix.asi
OutFitFix.asi
samp.asi
SAMPGraphicRestore.asi
sampvoice.asi
ShellFix.asi
StreamMemFix.asi
Address code: 8B 11 89 55 E0
Before address code: 0D B4 A8 4F 64
Crash module: sampvoice.asi
Size: 308224
CRC32: 697671A6
Stack:
+0000: 0x0177F3F8 0x007F3AD9 0x0BAF8D28 0x0BAF8D28
+0010: 0x0BAF8E90 0x0BAF8E90 0x0BAF8D28 0x0BAF8E90
+0020: 0x0177F3F8 0x03EAF50D 0x11C8ACF4 0x0177F444
+0030: 0x0177F344 0x043A7830 0x00727200 0x00000002
+0040: 0x11C8ACF4 0x03E42898 0x0177F3B1 0x03E42B2F
+0050: 0x0177F368 0x0177F3F8 0xFFFFFFFF 0x043A7830
+0060: 0x00000000 0x00000000 0x64616F6C 0x00336373
+0070: 0x00000000 0x00000000 0x00000000 0x00000000
Game work: 3 sec
Pos: 1133.050415 -2038.403442 69.096077
Game Version: US 1.0
Memory: 158 MB
Stream memory: 17/1024 MB
Windows 10 64 bit
I need support, I don't know where to put it to be able to hear and speak, I don't know how to put the native ones, if someone gives me a support, with the code just to listen to the location, the rest I do
Help, why dont detect the microphone? I got plugged the microphone
http://imgfz.com/i/pUQ3wNR.png
hai im from nigeria and im have a hosting siteweb where sell hosting and we are developers of san adnreas multi player and we ant to get a voice sistem like hyaxe roleplay.
https://mzunguhosting.ml is our website to make host u know Mustafa is very good supporter, take a look.
I'm hosting samp server on debian 9 vps. sampvoice client plugin draw start while connecting to my server. But on other voice servers it initialising. Is there any configuration, socket setup or dependency required on vps to initialize plugin of client. I tried my script on other hosts sampvoice is working well. While coming to vps hosting it will not.
Any have an email or something?
CyberMor, if you see please send me a email
[email protected]
I want to work with you.
I'm trying to disable stream listeners and speakers, but to no avail.
for (new i = 0; i <MAX_PLAYERS; i ++)
{
SvDetachSpeakerFromStream (lstream [playerid], i); // Disabling all speakers
SvDetachListenerFromStream (lstream [playerid], i); // Disabling all listeners
}
I'm using it this way, but to no avail. Still listening and talking in the stream.
I have this problem when opening the samp-server.exe that is the code that generates the svlog.txt
[18:13:46] : [sv:dbg:network:init] : module initializing...
[18:13:46] : [dbg:raknet:init] : module initializing...
[18:13:46] : [dbg:raknet:init] : installed hook to 'GetRakServerInterface' function (ptr:0044FAD0)
[18:13:46] : [dbg:raknet:init] : installed hook to 'OnPlayerDisconnect' function (ptr:0046D970)
[18:13:46] : [dbg:raknet:init] : module initialized
[18:13:46] : [sv:dbg:network:init] : module initialized
[18:13:46] : [sv:dbg:pawn:init] : module initializing...
[18:13:46] : [sv:dbg:pawn:init] : module initialized
[18:13:46] : -------------------------------------------
[18:13:46] : ___ __ __ _
[18:13:46] : / | __ _ _ __ _ \ \ / / () __ ___
[18:13:46] : _ / ` | ' | ' \ / _ | |/ / -)
[18:13:46] : |/_,|||| ./_/_/||____|
[18:13:46] : ||
[18:13:46] : -------------------------------------------
[18:13:46] : SampVoice by MOR loaded
[18:13:46] : -------------------------------------------
[18:13:47] : [sv:dbg:main:AmxLoad] : net game pointer (value:00619B00) received
[18:13:47] : [sv:dbg:network:bind] : voice server running on port 49527
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finded 'OnPlayerActivationKeyPress' callback function (index:1)
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finded 'OnPlayerActivationKeyRelease' callback function (index:2)
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:47] : [sv:dbg:main:AmxLoad] : failed to bind voice server
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyPress' callback function...
[18:13:47] : [sv:dbg:pawn:register] : finding 'OnPlayerActivationKeyRelease' callback function...
[18:13:54] : -------------------------------------------
[18:13:54] : SampVoice unloading...
[18:13:54] : -------------------------------------------
[18:13:55] : [sv:dbg:pawn:free] : module releasing...
[18:13:55] : [sv:dbg:pawn:free] : module released
[18:13:55] : [dbg:raknet:free] : module releasing...
[18:13:55] : [dbg:raknet:free] : module released
[18:13:55] : [sv:dbg:network:free] : module releasing...
[18:13:55] : [sv:dbg:network:free] : module released
please any help will help me but if you have the functional .pwn as I think that is it would be appreciated
The voice does not come out
I don't understand what the problem is, but the code just doesn't work at all
Could you update the 'readme' and the use of new natives please?
Hi i have gotten in a bit of a sticky situation , when i first got the mod the mic was detected but i wasnt allowed to talk because of the rules on the server but i was able to listen to other players , after a few relogs and changing nothing whatsoever, i couldn't hear anyone anymore and the mic was not detected anymore. I have tried reinstalling samp, voice chat, gta sa all together, in different orders and separate and it doesn't seem to work. To me it makes no sense as it used to work so in the same circumstances but now doesnt .
https://gyazo.com/d8531584d95dc7562cb676f89aea2ae2
Cheers.-LEO
[08:41:33] Loading plugin: sampvoice.so
[08:41:33] [sv:dbg:network:init] : module initializing...
[08:41:33] [dbg:raknet:init] : module initializing...
[08:41:33] [dbg:raknet:init] : module initialized
[08:41:33] [sv:dbg:network:init] : module initialized
[08:41:33] [sv:dbg:main:Load] : creating 8 work threads...
[08:41:33] [sv:dbg:main:AmxLoad] : net game pointer (value:0x9771d38) received
[08:41:33] [sv:dbg:network:bind] : voice server running on port 41178
[08:41:36] Error: Function not registered: 'SvDeleteStream'
[08:41:36] Error: Function not registered: 'SvCreateGStream'
[08:41:36] Error: Function not registered: 'SvGetVersion'
[08:41:36] Error: Function not registered: 'SvHasMicro'
[08:41:36] Error: Function not registered: 'SvCreateDLStreamAtPlayer'
[08:41:36] Error: Function not registered: 'SvAttachListenerToStream'
[08:41:36] Error: Function not registered: 'SvAddKey'
[08:41:36] Error: Function not registered: 'SvAttachSpeakerToStream'
[08:41:36] Error: Function not registered: 'SvDetachSpeakerFromStream'
In log file
Voice with default gamemode isn't work. Anyone can help? or pull it.
hi men i am admin of a server of SAMP RP in cuba ,we need your voice chat please if you can help us
Hello, I'm trying to add this to my server, but I have a problem:
Failed (libbass.so: cannot open shared object file: No such file or directory)
I have added libbass.so to /usr/local/lib/ /usr/lib/ usr/lib64/
but don't have success with it.
I'm using centos6
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.