Menu

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.

Show posts Menu

Topics - habi2

#1
Could i, an ordinary player and scripter get some license information on Vice City Multiplayer. When server opens, it says
Quotev0.4, (c) 2007-2024 VC:MP Team
But that is not enough. Technically, it does not even give a person right to use it.
I am looking something like 'MIT License' etc.
Quote'You are free to use/edit/modify/distribute/reverse-engineer under the following conditions ....'
I thought about making some use of this project in other platforms. But then 'license' came in between. So once license is cleared, i can move on.
Thanks
#2
Bugs and Crashes / [CRASH] 0x5741F07A
Sep 29, 2024, 06:47 PM
Subject: [CRASH] 0x0040286E


Reproducible
Always

What you were doing at the time of the crash
Joining a server after manually downloading store files. I arrived at spawn screen. I head a sound playing. It crashed before showing the skin to select.

What you think caused the crash
No Idea. Any custom objects or vehicles?

Are you using the Steam version?
No.

Crash Report
QuoteAddress: 5741F07A error C0000005
EAX 00000000 EBX 0000000F ECX 00000137 EDX 0000034D
EBP 00000137 ESP 0019FBDC ESI 0000034D EDI 00000015
Stack:
5741F058
3F800000
5741F38C
0000000A
2D4A3FA8
0019FC54
2D40C690
00002000
3F7F8000
3F750000
0000000F
00000137
3E970000
3EA60000
00000015
0000034D
5741E0B3
0000034D
00000005
2576CD98
2D35C638
00000000
FFFFFFFF
000000FF
00000000
00000001
0000034D
00000137
FFFFFFFF
4591FB3A
0019FCE8
5742DABC
2D40C690
2D42A848
00000137
0000034D
00000005
2D4A3FA8
00000002
2D35C660
2D5CABD0
2D5CABD0
57422AFD
2D5CABD0
1B52B270
75B1DF80
2D5CABE4
57421E9D
00EE01A0
1B52B270
75B1DF80
00000001
575BF5C0
572AA522
0000000B
00000006
00000000
006597D9
5728BDCA
A81F49A5
000000CC
000000FB
00000000
00EE01A0
0019FF14
57508967
FFFFFFFF
006D00DD
572A67EC
000000CC
000000FB
006D00DD
0019FD10
00000000
0000000F
00000000
FFFFFFE8
00000000
0055ED4B
0000000B
00000006
00000019
575BF519
575BF505
00FF007F
00000000
00000000
006D00DD
0656478C
0055D83D
0656478C
00000000
05191919
00000002
00000000
009B69AC
05191919
0000004C
0046BE14
0656478C
00000019
00000019
00000019
00000005
00000002
0000004C
004A6093
00935A7E
000000B5
0000004D
00000000
3F3340CD
00000001
3F3340CD
FE217884
006DE5AC
0000001A
00000001
00000001
004A5BE5
00000001
00003DFF
0FA00000
0000000A
00602EF1
0000001A
00000001
00EB6730
00813D20
006004A7
0000001A
00000001
0000BC08
461C4000
000BED2B
00000000
00000001
00000000
00000113
00006384
21112B30
3480091B
00000348
0000020D
44520000
44034000
00000008
00000008
00000102
00000008
00000100
00000000
00000000
00000690
0000041A
0000002C
00000000
00000001
FFFFFFFF
FFFFFFFF
FFFFFFFF
FFFFFFFF
00000000
00000000
00000690
0000041A
01010101
00000001
00000000
00000000
00002000
006010B0
00000000
00000000
00400000
00140E3D
00010003
00000000
00000000
006D5A00
FFFFFFF5
FFFFFFD3
0000028B
000001CB
0019FF74
00667BF0
00667BF0
00E97623
00667CBE
00400000
00000000
00E97623
0000000A
00000000
00000000
00000000
00000000
00000000
00000000
00000000
Net version 67710, build version 66B660F1.
00400000 S 00614000 N D:\Grand Theft Auto Vice City\gta-vc.exe
21100000 S 0005C000 N D:\Grand Theft Auto Vice City\mss32.dll
22100000 S 00014000 N D:\Grand Theft Auto Vice City\mss\Mssa3d.m3d
22200000 S 00015000 N D:\Grand Theft Auto Vice City\mss\Mssa3d2.m3d
22300000 S 00011000 N D:\Grand Theft Auto Vice City\mss\Mssds3ds.m3d
22400000 S 00014000 N D:\Grand Theft Auto Vice City\mss\Mssds3dh.m3d
22500000 S 00014000 N D:\Grand Theft Auto Vice City\mss\Msseax.m3d
22600000 S 00016000 N D:\Grand Theft Auto Vice City\mss\Mssfast.m3d
22D00000 S 00062000 N D:\Grand Theft Auto Vice City\mss\Mssrsx.m3d
22E00000 S 00019000 N D:\Grand Theft Auto Vice City\mss\msseax3.m3d
24600000 S 00011000 N D:\Grand Theft Auto Vice City\mss\Reverb3.flt
26F00000 S 0002A000 N D:\Grand Theft Auto Vice City\mss\Mp3dec.asi
57190000 S 0055D000 N C:\Users\myusername\AppData\Local\Vice City Multiplayer\0.4.7.1\vcmp-game.dll
578B0000 S 000B8000 N C:\Windows\SYSTEM32\d3d8.dll
57970000 S 000EB000 N C:\Windows\SYSTEM32\ddraw.dll
57C70000 S 00057000 N C:\Users\myusername\AppData\Local\Vice City Multiplayer\0.4.7.1\bass.dll
57F90000 S 00063000 N C:\Users\myusername\AppData\Local\Vice City Multiplayer\0.4.7.1\libpng16.dll
580B0000 S 0010A000 N C:\Windows\System32\Windows.UI.dll
581C0000 S 0018A000 N C:\Windows\SYSTEM32\AUDIOSES.DLL
58350000 S 0007C000 N C:\Windows\System32\MMDevApi.dll
583D0000 S 00099000 N C:\Windows\SYSTEM32\ResampleDmo.DLL
58470000 S 00072000 N C:\Windows\SYSTEM32\DSOUND.DLL
59FE0000 S 00145000 N C:\Windows\SYSTEM32\inputhost.dll
5C960000 S 00010000 N C:\Windows\SYSTEM32\resourcepolicyclient.dll
5C970000 S 00007000 N C:\Windows\SYSTEM32\d3d8thk.dll
5F0A0000 S 00290000 N C:\Windows\SYSTEM32\CoreUIComponents.dll
5F3E0000 S 00007000 N C:\Windows\SYSTEM32\DCIMAN32.dll
5F540000 S 000CD000 N C:\Windows\SYSTEM32\CoreMessaging.dll
5F610000 S 000E3000 N C:\Windows\SYSTEM32\textinputframework.dll
5FB40000 S 00019000 N C:\Windows\SYSTEM32\MSACM32.dll
5FD50000 S 00009000 N C:\Windows\SYSTEM32\avrt.dll
61050000 S 0001F000 N C:\Windows\SYSTEM32\winmmbase.dll
61070000 S 00038000 N C:\Windows\SYSTEM32\dinput8.dll
610C0000 S 00009000 N C:\Windows\SYSTEM32\msdmo.dll
61120000 S 00095000 N C:\Windows\SYSTEM32\TextShaping.dll
62120000 S 0000B000 N C:\Windows\SYSTEM32\HID.DLL
62380000 S 00008000 N C:\Windows\SYSTEM32\DPAPI.dll
630C0000 S 001D9000 N C:\Windows\SYSTEM32\twinapi.appcore.dll
632A0000 S 0001E000 N C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ec43f6616da4d7aa\igdinfo32.dll
632C0000 S 036B0000 N C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ec43f6616da4d7aa\igd12dxva32.dll
66970000 S 00021000 N C:\Windows\SYSTEM32\D3DSCache.dll
669A0000 S 03DED000 N C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ec43f6616da4d7aa\igc32.dll
6A790000 S 0032C000 N C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ec43f6616da4d7aa\igdgmm32.dll
6AAC0000 S 0003B000 N C:\Windows\SYSTEM32\directxdatabasehelper.dll
6AB00000 S 00064000 N C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ec43f6616da4d7aa\IntelControlLib32.dll
6AB70000 S 0002E000 N C:\Windows\SYSTEM32\ControlLib32.dll
6ABA0000 S 00DEC000 N C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ec43f6616da4d7aa\igd12um32xel.dll
6B990000 S 0001C000 N C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_ec43f6616da4d7aa\igd12umd32.dll
6B9B0000 S 001B0000 N C:\Windows\SYSTEM32\D3D12Core.dll
6BB60000 S 000CA000 N C:\Windows\SYSTEM32\dxgi.dll
6BC30000 S 00019000 N C:\Windows\SYSTEM32\d3d12.dll
6BC50000 S 00098000 N C:\Windows\SYSTEM32\D3D9on12.dll
6BCF0000 S 0002E000 N C:\Windows\SYSTEM32\dxcore.dll
70000000 S 0000E000 N C:\Windows\SYSTEM32\MSASN1.dll
70010000 S 00024000 N C:\Windows\SYSTEM32\DEVOBJ.dll
70060000 S 0000E000 N C:\Windows\SYSTEM32\UMPDC.dll
70090000 S 00046000 N C:\Windows\SYSTEM32\powrprof.dll
70610000 S 0000B000 N C:\Windows\SYSTEM32\CRYPTBASE.DLL
70670000 S 00051000 N C:\Windows\system32\mswsock.dll
706D0000 S 0003D000 N C:\Windows\SYSTEM32\cfgmgr32.dll
71180000 S 0001A000 N C:\Windows\SYSTEM32\bcrypt.dll
711E0000 S 00017000 N C:\Windows\SYSTEM32\dhcpcsvc.DLL
71C10000 S 00016000 N C:\Windows\SYSTEM32\dhcpcsvc6.DLL
72750000 S 000B9000 N C:\Windows\SYSTEM32\DNSAPI.dll
72810000 S 00024000 N C:\Windows\SYSTEM32\IPHLPAPI.DLL
728A0000 S 000C7000 N C:\Windows\SYSTEM32\wintypes.dll
73E80000 S 00024000 N C:\Windows\SYSTEM32\dwmapi.dll
73ED0000 S 006CF000 N C:\Windows\SYSTEM32\windows.storage.dll
74ED0000 S 00013000 N C:\Windows\SYSTEM32\kernel.appcore.dll
750F0000 S 00008000 N C:\Windows\SYSTEM32\version.dll
75100000 S 00031000 N C:\Windows\SYSTEM32\winmm.dll
75140000 S 0007F000 N C:\Windows\system32\uxtheme.dll
752A0000 S 000A5000 N C:\Windows\SYSTEM32\apphelp.dll
75580000 S 0001F000 N C:\Windows\SYSTEM32\USERENV.dll
757B0000 S 000C4000 N C:\Windows\System32\msvcrt.dll
75880000 S 0027B000 N C:\Windows\System32\combase.dll
75B00000 S 000F0000 N C:\Windows\System32\KERNEL32.DLL
75C00000 S 0005F000 N C:\Windows\System32\WS2_32.dll
75D70000 S 00006000 N C:\Windows\System32\PSAPI.DLL
75D80000 S 00058000 N C:\Windows\System32\WINTRUST.dll
75DE0000 S 000C0000 N C:\Windows\System32\SHCORE.dll
75EA0000 S 00025000 N C:\Windows\System32\IMM32.DLL
75ED0000 S 00082000 N C:\Windows\System32\clbcatq.dll
76000000 S 00082000 N C:\Windows\System32\sechost.dll
760B0000 S 0009C000 N C:\Windows\System32\OLEAUT32.dll
761B0000 S 00104000 N C:\Windows\System32\CRYPT32.dll
762C0000 S 001A6000 N C:\Windows\System32\user32.dll
76470000 S 00272000 N C:\Windows\System32\KERNELBASE.dll
766F0000 S 00112000 N C:\Windows\System32\ucrtbase.dll
76810000 S 000BA000 N C:\Windows\System32\RPCRT4.dll
768D0000 S 00007000 N C:\Windows\System32\NSI.dll
768E0000 S 0001A000 N C:\Windows\System32\win32u.dll
76900000 S 00062000 N C:\Windows\System32\bcryptPrimitives.dll
76970000 S 00079000 N C:\Windows\System32\msvcp_win.dll
769F0000 S 0004B000 N C:\Windows\System32\shlwapi.dll
76A40000 S 0014D000 N C:\Windows\System32\ole32.dll
76B90000 S 0066D000 N C:\Windows\System32\SHELL32.dll
77200000 S 00023000 N C:\Windows\System32\GDI32.dll
77230000 S 0043D000 N C:\Windows\System32\SETUPAPI.dll
777E0000 S 00061000 N C:\Windows\System32\WLDAP32.dll
77850000 S 0007C000 N C:\Windows\System32\advapi32.dll
778D0000 S 000E2000 N C:\Windows\System32\gdi32full.dll
779C0000 S 000DB000 N C:\Windows\System32\MSCTF.dll
77AB0000 S 001AF000 N C:\Windows\SYSTEM32\ntdll.dll

rwError: pluginID=00000001 errorCode=00000016
#3
Today after some two hours of search, i found out what is http download of store files in 0.4.7. Since i need a large file for testing, i faked a 40 MB file as png. Ofcourse, through 'http' it was accessed and blue error message shown (probably showing file is invalid)

Do clients (players) need anything other than VCMP? Yes
Ans: Squid For Windows (https://squid.diladele.com/) (download first one (16 MB ). Install, it will automatically run in background after install. the default port is 3128). It is a proxy server, which means a program tell it to download things from websites and it will download without the program directly connecting to website.

In server-side what additional things to be done? (*)
First, i will tell you what settings i did. Since i have an amazon free windows vps and ports 8192 aswell as 80 is forwarded, i can run Xampp.
In C:\xampp\apache\conf\httpd.conf
Alias /store "C:/Users/Administrator/Desktop/Blank Server 64 bit/store"

<Directory "C:/Users/Administrator/Desktop/Blank Server 64 bit/store">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
added at bottom of file in notepad.
Now if i go to internet explorer (in vps) and type localhost/store i can see

So if i replace localhost with IP address of it, i can still see the store. So 'the root of the store is accessible' over http.
Next, open server.cfg and (replace with your ip)
storeurl http://18.132.xx.100/store/
*: I think you can put your store files externally in some website (which lists it as directory) and use that website's url also. This is the case if you are unable to setup a webserver on the same machine.
Run VCMP v39 Server.

You probably won't see anything new.

/setconfig net_dl_proxy http://127.0.0.1:3128
The above command you have to type in vcmp-game. Or %appdata%/VCMP/04beta/vcmp_config.txt change there.
3128 is the port of our proxy server. Our proxy server is running on localhost




Checking if success.
Open squid folder, go to var/log and check the log file

Since i tested with a fake file of 40 MB, it was not a complete success.

Thanks for reading.

#4
Hi this is a project i have been building for past two weeks.

Websocket is a communication protocol over tcp, which enables bi-directional communication between server and client. Before, the client connects to server and wait for server response. While it is waiting it cannot do anything,  unless 'select' is used. However, here server can send anytime it wants (eg.when a player joined) and client have callback when it receive messages from server.

Here is an example:
function onPlayerJoin(player)
{
Broadcast(player.Name + " has joined the server");
}
function onopen(client)
{

print( format( "client IP:%s:%d joined." , client.ip, client.port ));

print( "Sending client message 'Hello'" );

client.SendMessage( "Hello" );

}

//Called when a client disconnects
function onclose(client)
{
print("Connection closed " + client.ip + ":" + client.port );
}



In the above picture, a client is connecting to server  and is sending messages.
//Called when a client send text messages
function onmessage(client, message)
{
print( format( "client %s:%d :%s" , client.ip, client.port, message ) );
}
You can print the message send by the client  to console or message in game.
Not only text messages, binary messages are also supported using  blobs.

To start the websocket server, you have to call one-time function WebsocketInit with parameters like
        local host="127.0.0.1"; // Server IP address
local port=8080 ; // WebSocket server port
local timeout_ms=10000 ; // Timeout in milliseconds

// Initialize WebSocket server with the provided callbacks
WebsocketInit(host,port,timeout_ms,onopen,onclose,onmessage, onbinmessage);

Another interesting feature is the properties of client:
//keys of table client
ip  - string
port  - integer
SendMessage([string] message): Sends a text message to the client.
SendBinMessage([blob] data): Sends a binary message to the client using a blob.
close(): Closes the client's connection.

Download Links, Source, Credits and License Information
The project is licensed under GPL v3.
Credits: Davidson Francis for WebSocket server library.

Download the plugin along with source, instructions, build-instructions and examples below
Link 1

Alternative Link
#5
Tutorials / Loading VCMP via command line
Sep 02, 2024, 01:48 PM
Hi friends, i made a program to load VCMP via command-line.
Load.exe "D:\Grand Theft Auto Vice City\gta-vc.exe" "-c -h 127.0.0.1 -c -p 8192 -n habi " "D:\Grand Theft Auto Vice City" "C:\Users\YOUR_USERNAME\AppData\Local\Vice City Multiplayer\0.4.7.1\vcmp-game.dll" is the example syntax.
Replace 127.0.0.1 by your Server IP. habi is my name
Add -z password if there is password for Server.

Load.exe(28.5 KB Mediafire)

Virus Total Result. Only 1 in 75 antivirus flagged as virus (don't know why).
#include <Windows.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
    STARTUPINFO startupinfo = {};
    startupinfo.cb = sizeof(startupinfo);
    PROCESS_INFORMATION processinformation = {};

    // Ensure that required arguments are provided
    if (argc < 5) {
        printf("Usage: %s <Executable> <CommandLine> <WorkingDirectory> <DLLPath>\n", argv[0]);
        return 1;
    }

    // Create the process in a suspended state
    BOOL s = CreateProcessA(argv[1], argv[2], NULL, NULL, 0, CREATE_SUSPENDED,
        NULL, argv[3], &startupinfo, &processinformation);
    if (!s) {
        printf("Failed to create process. Error: %d\n", GetLastError());
        return 1;
    }

    int len = (int)strlen(argv[4]) + 1;
    // Allocate memory in the target process
    LPVOID base = VirtualAllocEx(processinformation.hProcess, NULL, len, MEM_COMMIT, PAGE_READWRITE);
    if (!base) {
        printf("VirtualAllocEx failed. Error: %d\n", GetLastError());
        TerminateProcess(processinformation.hProcess, 0);
        CloseHandle(processinformation.hProcess);
        return 2;
    }

    // Write the DLL path to the allocated memory
    SIZE_T no_bytes_written;
    BOOL r = WriteProcessMemory(processinformation.hProcess, base, argv[4], len, &no_bytes_written);
    if (!r) {
        printf("WriteProcessMemory failed. Error: %d\n", GetLastError());
        VirtualFreeEx(processinformation.hProcess, base, 0, MEM_RELEASE);
        TerminateProcess(processinformation.hProcess, 0);
        CloseHandle(processinformation.hProcess);
        return 3;
    }

    HMODULE module = GetModuleHandle("kernel32");
    if (!module) {
        printf("Could not get handle to kernel32. Error: %d\n", GetLastError());
        VirtualFreeEx(processinformation.hProcess, base, 0, MEM_RELEASE);
        TerminateProcess(processinformation.hProcess, 0);
        CloseHandle(processinformation.hProcess);
        return 4;
    }

    FARPROC fnLoadLibraryA = GetProcAddress(module, "LoadLibraryA");
    if (!fnLoadLibraryA) {
        printf("Error occurred in GetProcAddress. Error: %d\n", GetLastError());
        VirtualFreeEx(processinformation.hProcess, base, 0, MEM_RELEASE);
        TerminateProcess(processinformation.hProcess, 0);
        CloseHandle(processinformation.hProcess);
        return 5;
    }

    // Create a remote thread to load the DLL
    DWORD ThreadId;
    HANDLE injectedThread = CreateRemoteThread(processinformation.hProcess, NULL, 0,
        (LPTHREAD_START_ROUTINE)fnLoadLibraryA,
        base, 0, &ThreadId);
    if (!injectedThread) {
        printf("CreateRemoteThread failed. Error: %d\n", GetLastError());
        VirtualFreeEx(processinformation.hProcess, base, 0, MEM_RELEASE);
        TerminateProcess(processinformation.hProcess, 0);
        CloseHandle(processinformation.hProcess);
        return 6;
    }

    DWORD retcode = WaitForSingleObject(injectedThread, 10000);  // 10000 ms
    if (retcode == WAIT_OBJECT_0) {
        DWORD exitCode;
        if (GetExitCodeThread(injectedThread, &exitCode)) {
            if (exitCode != 0) {
                printf("Resuming thread\n");
                ResumeThread(processinformation.hThread);
            }
            else {
                printf("Terminating thread. Exit code was %d\n", exitCode);
                TerminateProcess(processinformation.hProcess, 0);
            }
        }
        else {
            printf("GetExitCodeThread failed. Error: %d\n", GetLastError());
        }
    }
    else {
        printf("Thread not signaled. Error: %d\n", GetLastError());
    }

    // Clean up resources
    VirtualFreeEx(processinformation.hProcess, base, 0, MEM_RELEASE);
    CloseHandle(injectedThread);
    CloseHandle(processinformation.hThread);
    CloseHandle(processinformation.hProcess);

    printf("Done.\n");
    return 0;
}

Credits: I made it from some older project of ysc3839.
#6
Custom Content Releases / Online VCMP browser
Aug 24, 2024, 10:45 AM
Hi i created a vcmp browser


you can sort this table according to players and  see ip of server also.

If you click on a row, you get players list too!



Link (the link might work for one year)

http://vcmpbrow.zapto.org/ 
#7
I had this idea two years ago.
Now a vcmp server will be listed in the 'Internet' tab only if the server can send a post request to master.vc-mp.org. What if the IP of this masterlist is not reachable in the country where the server is?

So my idea is to send this POST request from my local computer with "port=8192, ip=my.remote.ip". When vc-mp browser sends 'i' message to port 8192 of my server, it will see that server is working. So my server directly goes to Internet tab.