mirror of
https://github.com/rilaxik/fivem-rpc.git
synced 2026-09-28 01:29:13 +00:00
docs: bump readme.md
This commit is contained in:
@@ -2,37 +2,64 @@
|
||||
|
||||
is an all-in-one package with asynchronous RPC implementation for FiveM servers in JS/TS
|
||||
|
||||
## Motivation
|
||||
|
||||
The idea was to create an extensible package, with various features to simplify the development process and provide as much comfort as possible. Inspired by usage of [altv-xrpc](https://github.com/xxshady/altv-xrpc)
|
||||
|
||||
## Packages
|
||||
|
||||
| Package | Docs |
|
||||
| ----------------------------------------------------- | -------------------------------------- |
|
||||
| [`@entityseven/fivem-rpc`](rpc) | [API reference](rpc/readme.md) |
|
||||
| [`@entityseven/fivem-rpc-shared-types`](shared-types) | [Typing setup](shared-types/readme.md) |
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pnpm i @entityseven/fivem-rpc
|
||||
```
|
||||
|
||||
```bash
|
||||
npm i @entityseven/fivem-rpc
|
||||
pnpm add @entityseven/fivem-rpc
|
||||
yarn add @entityseven/fivem-rpc
|
||||
```
|
||||
|
||||
```bash
|
||||
bun add @entityseven/fivem-rpc
|
||||
```
|
||||
|
||||
It is highly recommended to also install additional package for enhanced typing
|
||||
Optional, for typed event names, arguments and results ([typing setup](shared-types/readme.md)):
|
||||
|
||||
```bash
|
||||
pnpm i @entityseven/fivem-rpc-shared-types -D
|
||||
npm i -D @entityseven/fivem-rpc-shared-types
|
||||
pnpm add -D @entityseven/fivem-rpc-shared-types
|
||||
yarn add -D @entityseven/fivem-rpc-shared-types
|
||||
bun add -d @entityseven/fivem-rpc-shared-types
|
||||
```
|
||||
|
||||
```bash
|
||||
yarn add @entityseven/fivem-rpc-shared-types --dev
|
||||
## Quick start
|
||||
|
||||
Create exactly one instance per environment and import it from your own module, not from the library. The client needs one even if it only relays between server and webview.
|
||||
|
||||
```ts
|
||||
// server/rpc.ts
|
||||
import { createRPC } from '@entityseven/fivem-rpc'
|
||||
export const rpc = createRPC({ env: 'server' })
|
||||
|
||||
// client/rpc.ts
|
||||
import { createRPC } from '@entityseven/fivem-rpc'
|
||||
export const rpc = createRPC({ env: 'client' })
|
||||
|
||||
// webview/rpc.ts
|
||||
import { createRPC } from '@entityseven/fivem-rpc'
|
||||
export const rpc = createRPC({ env: 'webview' })
|
||||
```
|
||||
|
||||
```bash
|
||||
bun add @entityseven/fivem-rpc-shared-types -d
|
||||
Listen on one side, emit from the other and await the listener's return value:
|
||||
|
||||
```ts
|
||||
// server
|
||||
rpc.onClient('ping', (player, message) => `pong: ${message} (from ${player})`)
|
||||
|
||||
// client
|
||||
const reply = await rpc.emitServer('ping', 'hello')
|
||||
```
|
||||
|
||||
## Docs
|
||||
|
||||
Can be found in [/rpc/readme.md](https://github.com/rilaxik/fivem-rpc/blob/master/rpc/readme.md)
|
||||
All methods: [API reference](rpc/readme.md).
|
||||
|
||||
## Features
|
||||
|
||||
|
||||
+5
-45
@@ -1,48 +1,8 @@
|
||||
# FiveM RPC
|
||||
|
||||
is an all-in package with asynchronous RPC implementation for RageMP servers in JS/TS. [Extra info](https://github.com/rilaxik/fivem-rpc/blob/master/readme.md)
|
||||
is an all-in package with asynchronous RPC implementation for RageMP servers in JS/TS
|
||||
|
||||
# Motivation
|
||||
|
||||
The idea was to create an extensible package, with various features to simplify the development process and provide as much comfort as possible. Inspired by usage of [altv-xrpc](https://github.com/xxshady/altv-xrpc)
|
||||
|
||||
# Installation
|
||||
|
||||
```bash
|
||||
pnpm i @entityseven/fivem-rpc
|
||||
```
|
||||
|
||||
```bash
|
||||
yarn add @entityseven/fivem-rpc
|
||||
```
|
||||
|
||||
```bash
|
||||
bun add @entityseven/fivem-rpc
|
||||
```
|
||||
|
||||
It is highly recommended to also install additional package for enhanced typing
|
||||
|
||||
```bash
|
||||
pnpm i @entityseven/fivem-rpc-shared-types -D
|
||||
```
|
||||
|
||||
```bash
|
||||
yarn add @entityseven/fivem-rpc-shared-types --dev
|
||||
```
|
||||
|
||||
```bash
|
||||
bun add @entityseven/fivem-rpc-shared-types -d
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
FiveM RPC is meant to be a singletone per environment. This means you _must create only one_ `RPCFactory` per your server/client/web. This also enables modifying `const rpc` to your needs, adding new methods or variables by forcing you to import it from file instead of library reference
|
||||
|
||||
```ts
|
||||
// lib/rpc.ts
|
||||
import { RPCFactory } from '@entityseven/fivem-rpc'
|
||||
export const rpc = new RPCFactory(/* options */).get()
|
||||
```
|
||||
Installation, quick start and package overview: [main readme](../readme.md). Typed events: [shared-types](../shared-types/readme.md).
|
||||
|
||||
# Docs
|
||||
|
||||
@@ -91,7 +51,7 @@ Type: 'event'
|
||||
Data: [<data>]
|
||||
```
|
||||
|
||||
## Server ([source](https://github.com/rilaxik/fivem-rpc/blob/master/rpc/src/core/server.ts))
|
||||
## Server ([source](src/core/server.ts))
|
||||
|
||||
### onClient
|
||||
|
||||
@@ -205,7 +165,7 @@ rpc.onNativeEvent('playerJoining', (source, oldId) => {
|
||||
})
|
||||
```
|
||||
|
||||
## Client ([source](https://github.com/rilaxik/fivem-rpc/blob/master/rpc/src/core/client.ts))
|
||||
## Client ([source](src/core/client.ts))
|
||||
|
||||
### onServer
|
||||
|
||||
@@ -329,7 +289,7 @@ Sets or removes focus and cursor from own webview
|
||||
rpc.setWebviewFocus(true /* focus */, true /* show cursor */)
|
||||
```
|
||||
|
||||
## Webview ([source](https://github.com/rilaxik/fivem-rpc/blob/master/rpc/src/core/webview.ts))
|
||||
## Webview ([source](src/core/webview.ts))
|
||||
|
||||
### onClient
|
||||
|
||||
|
||||
+2
-12
@@ -1,20 +1,10 @@
|
||||
# FiveM RPC Shared Types
|
||||
|
||||
### [Docs & Info](https://github.com/rilaxik/fivem-rpc/blob/master/readme.md)
|
||||
### [Docs & Info](../readme.md)
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pnpm i @entityseven/fivem-rpc-shared-types -D
|
||||
```
|
||||
|
||||
```bash
|
||||
yarn add @entityseven/fivem-rpc-shared-types --dev
|
||||
```
|
||||
|
||||
```bash
|
||||
bun add @entityseven/fivem-rpc-shared-types -d
|
||||
```
|
||||
See the [main readme](../readme.md#installation).
|
||||
|
||||
## Usage
|
||||
|
||||
|
||||
Reference in New Issue
Block a user