Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - stormeus

Pages: [1] 2 3 ... 5
News / Check out the new forum
« on: October 16, 2014, 10:55:24 pm »
A couple of announcements:

First of all, a number of you guys might have noticed that the 0.4 wiki at was down for an extended period of time. There was a configuration issue on our end that has been resolved and the new wiki is now back up for use and editing. With that, editing has been made open for all users and registration has been re-enabled with a few verification questions to avoid spam.

Secondly, we have a brand-new forum over at which we intend to use for all development for 0.4 and beyond, featuring faster and more refreshing forum software and a new theme. At the moment it's incomplete as there is information that still needs to be moved over; if you want to help move over important threads and tutorials, by all means, register and do so.

While the new forum is still being populated, we will leave this one open, but discourage the use of only this forum for support and script releases. We'll make another announcement when we feel we're ready to jump and fully move onto the new forum.

Once everything is in place, this forum will be archived (read-only), registrations will be disabled, and because the forum will be read-only, no new posts will be accepted. Because the new forum only has 0.4 sections, this essentially means that official support for 0.3 will also end then, and users will be encouraged to upgrade to 0.4 by that point.

Script Discussion / MOVED: [Snippet]Player Fps
« on: September 27, 2014, 10:55:51 pm »

Script Discussion / MOVED: Position System
« on: September 27, 2014, 10:55:23 pm »

General Discussion / MOVED: DMS v1.0 [ 0.4 Script ]
« on: September 27, 2014, 07:52:20 pm »

General Discussion / MOVED: help for squirrel
« on: September 27, 2014, 07:51:34 pm »

General Discussion / Client/Server Update Announcements
« on: August 29, 2014, 11:33:37 pm »
This thread is specifically reserved for informing players and server owners of updates made to the client and the server, which does not have the same auto-updating capabilities as the client. Only developers with announcements regarding the server will be posting here, and it is highly recommended that anyone who wishes to operate a 0.4 server continuously subscribe to this thread.

Email Notifications
Click the Notify button at the bottom right of this thread.

General Discussion / Official Plugin Update Announcements
« on: August 29, 2014, 11:33:15 pm »
This thread is specifically reserved for informing server owners of updates made to official plugins such as Squirrel, which do not have the same auto-updating capabilities as the client. Only developers with announcements regarding said plugins will be posting here, and it is highly recommended that anyone who wishes to operate a 0.4 server continuously subscribe to this thread.

Email Notifications
Click the Notify button at the bottom right of this thread.

General Discussion / Announcing the 0.4 Server Public Beta
« on: August 29, 2014, 11:31:20 pm »

After many successful rounds of private and public beta testing, the VC:MP Development Team is proud to announce the release of the 0.4 Public Beta Server.

This is not representative of a final product; however, by releasing the server to the public, we can collect a significant amount of information regarding bugs and issues that may exist in the server or client. Allowing the community to do whatever they please with the server would be much more productive than simply producing public beta scripts and testing them, as we cannot account for every possible scenario a scripter may want to attempt in 0.4.

Moreover, by releasing the server for scripters to test and develop on, the transition from R2 to 0.4 will be seamless and much smoother, as server owners will more likely be prepared to adopt a completely new version of VC:MP.

Notes on Beta Release

Unlike previous beta tests, we are releasing the server, as well as the client, as a beta product to further find and fix bugs. This should not be interpreted as a bug-free final release. This is still part of testing phases.

Releasing the server as a beta product serves to help scripters become ready for the switch to a final 0.4 release and for bug finding purposes. While this does signal a closer approach to a final release, it is not, by any stretch of the imagination, a polished product we believe should be representative of our efforts.

VC:MP 0.4 Client
Note: Clients/browsers from Public Beta 3 will also work with this server beta, and will automatically update as needed, but it is recommended to use the installer for newer and updated browser functionality.

Windows Server (x86)
Windows Server (x64)
Linux Server (x86)
Linux Server (x64)

Windows (x86) Plugin Pack
Windows (x64) Plugin Pack
Linux (x86) Plugin Pack
Linux (x64) Plugin Pack

Provides a base interface for scripting in Squirrel.

Enables SQLite functionality in Squirrel scripts.

Provides MySQL support for Squirrel scripts.

Provides hash functions like SHA-1, SHA-2, WHIRLPOOL, and MD5.

Allows the loading of server.conf files from the R2 Squirrel server on a 0.4 server.

Provides INI manipulation functions like those in the R2 Squirrel server.

Provides socket interfaces like those in R2 Squirrel.

Announces a server to the 0.4 masterlist.

Automated builds of the Linux versions of the plugins above can be found here:

Installation Instructions
  • Extract the server in any directory you like.
  • Create a directory named plugins within the server directory.
  • Download and extract any plugins you like to the plugins folder.
  • Create a file named server.cfg
  • In server.cfg, add a plugins line in the following format: plugins module1 module2 module3
  • To use the Squirrel plugin, add a sqgamemode line in server.cfg in the following format: sqgamemode MyScript.nut

Squirrel Documentation
A list of functions and callbacks can be found on the VC:MP Wiki:

Documentation is currently incomplete due to the vast scope of it; you can help write it! If information regarding syntax is not available on the VC:MP wiki, it may be available on the Squirrel plugin wiki (which has no plans to be updated):

Bug and Crash Reports
Like previous public betas, bugs and crashes can be reported on the forum. However, we also have a new bugtracker at which can be used to report and track bugs in both the server and client as well.

Bug reports filed on the forum will receive responses, but will also be filed on the new bugtracker as well.

Refer to the Reporting Bugs and Crashes thread (linked) for further information and instructions.

General Discussion / [0.4] Introduction to the Plugin SDK
« on: August 29, 2014, 11:29:14 pm »
One of the major new features available in the 0.4 server is the plugin SDK. Any user can now use an official SDK header to create plugins that can be used to interact with the server, clients, game world and other plugins.

The current plugin SDK can be found here:

Creating a Loadable Plugin
The VC:MP server expects the existence of a special exported function, VcmpPluginInit, to exist in a plugin in order to be able to load one. As part of this function, the server will pass a set of callable functions, a structure for the plugin to set the callbacks it accepts, and a structure for the plugin to set information about itself.

The structure of VcmpPluginInit is as follows:
Code: [Select]
#ifdef WIN32
#define EXPORT __declspec(dllexport)
#define EXPORT

extern "C" EXPORT unsigned int VcmpPluginInit( PluginFuncs* pluginFuncs, PluginCallbacks* pluginCalls, PluginInfo* pluginInfo )
    return 1;

  • pluginFuncs is the PluginFuncs struct from the server header, which can be used to call any function available through the plugin SDK.
  • pluginCalls is a struct of PluginCallbacks. pluginCalls essentially starts off empty; your plugin must provide its own callbacks and set them in the struct in order for them to be called, and you must use the same pointer to the struct provided.
  • pluginInfo is a struct of PluginInfo (from the SDK) that, again, is empty at first. You can set your plugin's version and name (max 32 characters) through it, but you must use the same pointer to the struct.

Setting a Callback
To receive callbacks from the server, you need to create a function in the same format as the defined type of the callback:

Code: [Select]
typedef int (*SDK_OnInitServer) (void);
typedef void (*SDK_OnShutdownServer) (void);
typedef void (*SDK_OnFrame) (float fElapsedTime);
typedef void (*SDK_OnPlayerConnect) (int nPlayerId);
typedef void (*SDK_OnPlayerDisconnect) (int nPlayerId, int nReason);
typedef void (*SDK_OnPlayerBeginTyping) (int nPlayerId);
typedef void (*SDK_OnPlayerEndTyping) (int nPlayerId);
typedef int (*SDK_OnPlayerRequestClass) (int nPlayerId, int nOffset);
typedef int (*SDK_OnPlayerRequestSpawn) (int nPlayerId);
typedef void (*SDK_OnPlayerSpawn) (int nPlayerId);
typedef void (*SDK_OnPlayerDeath) (int nPlayerId, int nKillerId, int nReason, int nBodyPart);
typedef void (*SDK_OnPlayerUpdate) (int nPlayerId, int nUpdateType);
typedef int (*SDK_OnPlayerRequestEnter) (int nPlayerId, int nVehicleId, int nSlotId);
typedef void (*SDK_OnPlayerEnterVehicle) (int nPlayerId, int nVehicleId, int nSlotId);
typedef void (*SDK_OnPlayerExitVehicle) (int nPlayerId, int nVehicleId);
typedef int (*SDK_OnPickupClaimPicked) (int nPickupId, int nPlayerId);
typedef void (*SDK_OnPickupPickedUp) (int nPickupId, int nPlayerId);
typedef void (*SDK_OnPickupRespawn) (int nPickupId);
typedef void (*SDK_OnVehicleUpdate) (int nVehicleId, int nUpdateType);
typedef void (*SDK_OnVehicleExplode) (int nVehicleId);
typedef void (*SDK_OnVehicleRespawn) (int nVehicleId);
typedef void (*SDK_OnObjectShot) (int nObjectId, int nPlayerId, int nWeapon);
typedef void (*SDK_OnObjectBump) (int nObjectId, int nPlayerId);
typedef int (*SDK_OnPublicMessage) (int nPlayerId, const char* pszText);
typedef int (*SDK_OnCommandMessage) (int nPlayerId, const char* pszText);
typedef int (*SDK_OnPrivateMessage) (int nPlayerId, int nTargetId, const char* pszText);
typedef int (*SDK_OnInternalCommand) (unsigned int uCmdType, const char* pszText);
typedef int (*SDK_OnLoginAttempt) (char* pszPlayerName, const char* pszUserPassword, const char* pszIpAddress);
typedef void (*SDK_OnEntityPoolChange) (int nEntityType, int nEntityId, unsigned int bDeleted);
typedef void (*SDK_OnKeyBindDown) (int nPlayerId, int nBindId);
typedef void (*SDK_OnKeyBindUp) (int nPlayerId, int nBindId);
typedef void (*SDK_OnPlayerAwayChange) (int nPlayerId, unsigned int bNewStatus);
typedef void (*SDK_OnPlayerSpectate) (int nPlayerId, int nTargetId);
typedef void (*SDK_OnPlayerCrashReport) (int nPlayerId, const char* pszReport);
typedef void (*SDK_OnServerPerformanceReport) (int nNumStats, const char** ppszDescription, unsigned long long* pnMillisecsSpent);

For example, to create a callback for OnPublicMessage:
Code: [Select]
typedef int (*SDK_OnPublicMessage) (int nPlayerId, const char* pszText);

You would need to create a function like so:
Code: [Select]
int MyOnPublicMessage (int nPlayerId, const char* pszText)
    return 1;

void functions need not return anything (and should not), whereas callbacks with a return type expect a value to be returned, and will react differently according to their return values. For example, returning 0 in OnPublicMessage will reject a given chat message and essentially mute it. Returning 1 will send it to other players if no other plugins suppress it.

To have the server recognize the callback and make use of it, set it in VcmpPluginInit:
Code: [Select]
extern "C" EXPORT unsigned int VcmpPluginInit( PluginFuncs* pluginFuncs, PluginCallbacks* pluginCalls, PluginInfo* pluginInfo )
    pluginCalls->OnPublicMessage = MyOnPublicMessage;
    return 1;

Using Plugin Functions
Using plugin functions is easier still than dealing with callbacks. To use a function, you can simply make a direct call to a function in the pluginFuncs struct:

Code: [Select]
extern "C" EXPORT unsigned int VcmpPluginInit( PluginFuncs* pluginFuncs, PluginCallbacks* pluginCalls, PluginInfo* pluginInfo )
    pluginFuncs->SetServerName("My VC:MP Server");
    return 1;

Bugs and Crashes / Reporting Bugs and Crashes
« on: August 29, 2014, 11:28:02 pm »
Bug Reports on the Bugtracker
As explained in the announcement thread, a new bugtracker exists on While this offers the ability to provide more information and track developments regarding a bug, it is recommended only for power users who have filed bug reports on similar trackers before, like

If you do wish to use the bugtracker, we ask that you still read on to learn what kind of information we expect in a ticket filed there. If you are not using the bugtracker, you must read this anyway.

When reporting a bug on the bugtracker:
After logging in, there will be a Project dropdown at the top right corner of the page. Please use this to select the relevant project for which you'd like to report a bug, and then use the Report Issue link.

Reporting Bugs
Create a new thread with a brief description of the bug and put the tag "[Bug]" in the title. Include details such as how often you can reproduce or recreate the bug (always, sometimes, or rarely), what you were doing when the bug happened, and what you think caused the bug.

A bug report might look like this:
Subject: [Bug] Can't shoot invisible players

Whenever a player is invisible, I can't shoot them.


What you were doing when the bug happened
I was going to the other team's point in a Voodoo. I got out of the car and someone on the other team went invisible, so I shot them when they started fading.

What you think caused the bug
Being invisible or desync from the Voodoo

Reporting Crashes
Crash information will appear in a subdirectory of the AppData folder, like so:


The top of each file will look like this:
Code: [Select]
Address: 0040286E error C0000005

Make a new thread with the tag "[CRASH]" and the address, so that the name of your thread looks like [CRASH] 0x0040286E. Include the same details you would make for a bug report, like so:

Subject: [CRASH] 0x0040286E


What you were doing at the time of the crash
Shooting an invisible player after I got out of a Voodoo

What you think caused the crash
Desync from invisible players or people getting out of Voodoos

Are you using the Steam version?

Crash Report
Code: [Select]
Address: 0040286E error C0000005
EAX 00000002 EBX 0E3C1140 ECX 00000002 EDX 3D82D28B
EBP 3D82D2AB ESP 0018FBB4 ESI 12013C70 EDI 12013C70
00400000 S 00614000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\gta-vc.exe
21100000 S 0005C000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss32.dll
22100000 S 00014000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Mssa3d.m3d
22200000 S 00015000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Mssa3d2.m3d
22300000 S 00011000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Mssds3ds.m3d
22400000 S 00014000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Mssds3dh.m3d
22500000 S 00014000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Msseax.m3d
22600000 S 00016000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Mssfast.m3d
22D00000 S 00062000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Mssrsx.m3d
22E00000 S 00019000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\msseax3.m3d
24600000 S 00011000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Reverb3.flt
26F00000 S 0002A000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\mss\Mp3dec.asi
5A840000 S 001BE000 N C:\Program Files (x86)\Rockstar Games\Beta (VCMP)\vcmpx\04beta\vcmp-game.dll
5AB30000 S 00046000 N C:\Program Files (x86)\Fraps\FRAPS32.DLL
5AD90000 S 00259000 N C:\windows\AppPatch\AcXtrnal.DLL
5AFF0000 S 00218000 N C:\windows\AppPatch\AcGenral.DLL
5EB50000 S 00A9D000 N C:\windows\system32\igdumd32.dll
62C70000 S 00072000 N C:\windows\system32\DSOUND.DLL
68060000 S 00105000 N C:\windows\system32\d3d8.dll
6B110000 S 0008D000 N C:\windows\AppPatch\AcLayers.dll
6C4B0000 S 000F5000 N C:\windows\System32\PROPSYS.dll
6CB30000 S 00006000 N C:\windows\system32\d3d8thk.dll
6CB40000 S 000E7000 N C:\windows\system32\ddraw.dll
6CC30000 S 00006000 N C:\windows\system32\DCIMAN32.dll
6CE20000 S 0003F000 N C:\Program Files\AVAST Software\Avast\snxhk.dll
6D300000 S 00012000 N C:\windows\system32\MPR.dll
6D320000 S 00013000 N C:\windows\system32\dwmapi.dll
6D380000 S 00080000 N C:\windows\system32\UxTheme.dll
6D620000 S 00051000 N C:\windows\system32\WINSPOOL.DRV
6D7B0000 S 0000F000 N C:\windows\system32\samcli.dll
6E0E0000 S 00025000 N C:\windows\system32\POWRPROF.dll
717E0000 S 00017000 N C:\windows\system32\USERENV.dll
71840000 S 0000B000 N C:\windows\system32\profapi.dll
71AA0000 S 00032000 N C:\windows\system32\winmm.dll
71C90000 S 00006000 N C:\windows\system32\rasadhlp.dll
71CA0000 S 00038000 N C:\windows\System32\fwpuclnt.dll
71CE0000 S 00021000 N C:\Program Files (x86)\Bonjour\mdnsNSP.dll
71D10000 S 00027000 N C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live\WLIDNSP.DLL
71D40000 S 00008000 N C:\windows\System32\winrnr.dll
71D50000 S 00044000 N C:\windows\system32\DNSAPI.dll
71DA0000 S 00012000 N C:\windows\system32\pnrpnsp.dll
71DC0000 S 00010000 N C:\windows\system32\napinsp.dll
71DD0000 S 00010000 N C:\windows\system32\NLAapi.dll
71DF0000 S 00005000 N C:\windows\System32\wshtcpip.dll
72200000 S 0003C000 N C:\windows\System32\mswsock.dll
725C0000 S 00030000 N C:\windows\system32\dinput8.dll
72830000 S 00007000 N C:\windows\system32\WINNSI.DLL
72840000 S 0001C000 N C:\windows\system32\Iphlpapi.DLL
72DF0000 S 0004C000 N C:\windows\system32\apphelp.dll
72E50000 S 00009000 N C:\windows\system32\VERSION.dll
73880000 S 00009000 N C:\windows\system32\HID.DLL
739B0000 S 00036000 N C:\windows\system32\AUDIOSES.DLL
739F0000 S 00007000 N C:\windows\system32\avrt.dll
73A40000 S 00039000 N C:\windows\System32\MMDevApi.dll
73C40000 S 00014000 N C:\windows\system32\MSACM32.dll
73D20000 S 0000D000 N C:\windows\system32\SortServer2003Compat.dll
73E20000 S 00006000 N C:\windows\system32\SHUNIMPL.DLL
73E30000 S 0000D000 N C:\windows\system32\sfc_os.DLL
73E40000 S 00003000 N C:\windows\system32\sfc.dll
74B90000 S 0000C000 N C:\windows\syswow64\CRYPTBASE.dll
74BA0000 S 00060000 N C:\windows\syswow64\SspiCli.dll
74C00000 S 00005000 N C:\windows\syswow64\api-ms-win-downlevel-advapi32-l1-1-0.dll
74C10000 S 00035000 N C:\windows\syswow64\WS2_32.dll
74C50000 S 00090000 N C:\windows\syswow64\GDI32.dll
74CE0000 S 00047000 N C:\windows\syswow64\KERNELBASE.dll
74D30000 S 00121000 N C:\windows\syswow64\urlmon.dll
74EE0000 S 00005000 N C:\windows\syswow64\PSAPI.DLL
74EF0000 S 0000A000 N C:\windows\syswow64\LPK.dll
74F00000 S 00004000 N C:\windows\syswow64\api-ms-win-downlevel-ole32-l1-1-0.dll
74F10000 S 00003000 N C:\windows\syswow64\normaliz.DLL
74F20000 S 000F0000 N C:\windows\syswow64\RPCRT4.dll
75010000 S 00027000 N C:\windows\syswow64\CFGMGR32.dll
75070000 S 00110000 N C:\windows\syswow64\KERNEL32.dll
75180000 S 000A0000 N C:\windows\syswow64\advapi32.dll
75220000 S 0011E000 N C:\windows\syswow64\CRYPT32.dll
75340000 S 00100000 N C:\windows\syswow64\USER32.dll
75440000 S 00003000 N C:\windows\syswow64\api-ms-win-downlevel-normaliz-l1-1-0.dll
75450000 S 000CC000 N C:\windows\syswow64\MSCTF.dll
75610000 S 001F8000 N C:\windows\syswow64\iertutil.dll
75810000 S 00012000 N C:\windows\syswow64\DEVOBJ.dll
75830000 S 00060000 N C:\windows\system32\IMM32.DLL
75890000 S 00004000 N C:\windows\syswow64\api-ms-win-downlevel-user32-l1-1-0.dll
758A0000 S 00006000 N C:\windows\syswow64\NSI.dll
758B0000 S 000AC000 N C:\windows\syswow64\msvcrt.dll
75960000 S 0019D000 N C:\windows\syswow64\SETUPAPI.dll
75B00000 S 00004000 N C:\windows\syswow64\api-ms-win-downlevel-shlwapi-l1-1-0.dll
75B10000 S 00004000 N C:\windows\syswow64\api-ms-win-downlevel-version-l1-1-0.dll
75B20000 S 001B8000 N C:\windows\syswow64\WININET.dll
75CE0000 S 0009D000 N C:\windows\syswow64\USP10.dll
75D80000 S 00019000 N C:\windows\SysWOW64\sechost.dll
75DA0000 S 0008F000 N C:\windows\syswow64\OLEAUT32.dll
75E30000 S 0002D000 N C:\windows\syswow64\WINTRUST.dll
75EB0000 S 00057000 N C:\windows\syswow64\SHLWAPI.dll
75F10000 S 00083000 N C:\windows\syswow64\CLBCatQ.DLL
75FA0000 S 0015C000 N C:\windows\syswow64\ole32.dll
76100000 S 00C4A000 N C:\windows\syswow64\SHELL32.dll
77120000 S 0000C000 N C:\windows\syswow64\MSASN1.dll
77150000 S 00180000 N C:\windows\SysWOW64\ntdll.dll

News / VC:MP Public Beta 4/Server Beta
« on: July 24, 2014, 09:14:30 am »

Due to downtime on this forum, Public Beta #4 information has been relocated to the Squirrel forums.

Once the boards for Beta 4 are in place on this forum, information and discussion will gradually be relocated here, and the boards on the unofficial forum will be archived.

Public Beta #4 information has been relocated to this forum:

News / 0.4 Plugins: a full disclosure
« on: April 29, 2014, 12:10:50 am »
In preparation for upcoming developments, the source code, binaries, issue lists, commit history, wikis, and all other development history for five plugins for VC:MP 0.4 are now being made available:
Traditionally, access to plugins has been restricted to members of the beta testing and development team. The development for these plugins is an ongoing process, but the code base is believed to be mature enough to be released to the public.

We hope that the availability of the code for these plugins will allow people to see what progress has been made on 0.4, what functionality is available, and how to similarly extend the functionality of the server by providing a full release such as this. Hopefully the open source nature of these plugins will also allow people to commit their own changes.

These plugins can be accessed either by clicking on their respective links or by viewing my Bitbucket profile.

Pages: [1] 2 3 ... 5