Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/25/19 in Posts

  1. Hello, I've integrated TypeORM and TypeScript into my gamemode to avoid writing SQL queries. However, loading and saving entities from and into the database is very slow and I do not know why. It seems that async calls are blocking for some reason. async function bootstrap() { const connection = await createConnection({ host: "localhost", port: 5432, database: "rage", username: "rage", password: "rage", type: "postgres", entities: [User, Vehicle], synchronize: true, logging: true, }); mp.events.addCommand("veh", async (player: PlayerMp, fullText: string) => { const vehicle: VehicleMp = mp.vehicles.new(mp.joaat(fullText), player.position); const dbVehicle = new Vehicle(); dbVehicle.model = vehicle.model; dbVehicle.position = vehicle.position; await connection.manager.save(dbVehicle); player.putIntoVehicle(vehicle, -1); }); } bootstrap(); Does anybody know why storing entities into the database take so much time? Any help is appreciated
    1 point
  2. Well, just a note: actually it's a feature of Adam's branch which isn't directly referenced to 0.4. But yeah, it isn't public yet therefore you can't use it as advertised at the wiki.
    1 point
  3. Доброго времени суток. Собственно к делу. Для работоспособности игрового сервера на платформе RAGE-MP, потребуется ОС семейства Linux, я выбрал `Ubuntu 14.04`, так как мой хостер не предоставляет в хранилище `Debian 9`. Сам разработчик рекомендует, именно Debian 9. Небольшое введение Игровой сервер активно использует https://gcc.gnu.org/ компонент. Без данного компонента, вы не запустите сервер. Так же забавный факт: операционные системы, включая CentOS 7, используют в своих репозиториях старые версии GCC (4.x.x). Нам нужна именно версия 6+. Для решения конфликтов, смотрите данную тему на которую, я давал ответ, как обновить GCC на более современную версию. Перед началом работы установите соответствующую ОС и приступайте. Пройдите авторизацию (SSH) и приступайте. Это основной фундамент перед началом работы. Ваши действия могут отличаться от моих, но суть остается сутью. Первым делом, установим GCC, версии 6.4.0, как это сделать? Очень просто. Если у вас чистая ОС, сразу ставим следующий компонент, но перед установкой какого-либо компонента проведите обновление вашего листа (если у вас не обновлен): apt-get update apt-get install software-properties-common python-software-properties Прочитать более подробно про устанавливаемый пакеты, здесь и здесь, что именно в него входит при установке. Он нам потребуется, в основном только в добавлении ключей в основной лист к другому репозиторию. Далее добавляем в наш лист, сторонний репозиторий: add-apt-repository ppa:ubuntu-toolchain-r/test -y После того, когда репозиторий был успешно импортирован, приступаем к обновлению и установке GCC 6+. apt-get update apt-get install gcc-snapshot -y apt-get install gcc-6 g++-6 -y Почти закончили. Теперь исходя официальной документации имеется официальный источник для скачивания серверного файла. Сам серверный файл генерирует уже базовые конфигурации вашего сервера. Я рекомендую использовать папку /home под основные ваши серверные директории. Если у вас каким-то образом отображается версия менее < 6, то проследуйте по пути /usr/lib/gcc и создайте необходимую вручную маршрутизацию, путем перемещения в /usr/bin исполняемого файла при команде gcc. mkdir /home/ragemp cd /home/ragemp wget https://cdn.rage.mp/lin/server chmod +x server На этом установка завершена. Рекомендую использовать пакет screen, подробнее здесь. Но это Вы, со временем сами разберетесь для чего он. Для запуска игрового сервера используем следующую команду: ./server
    1 point
  4. entity.freezePosition(toggle); I try this but maybe I'm wrong with code veh = mp.vehicles.new(mp.joaat('cargoplane'), new mp.Vector3(1702.69482421875,-2967.266845703125,747.1845092773438)); veh.dimension = gameDimension; player.call('freezePlane', [veh]); Client side: mp.events.add('freezePlane', (plane) => { plane.freezePosition(true); });
    1 point
  5. Хорошо, а для отловки входа игрока на этот маркер также использовать playerEnterColshape? Тогда при каждом создании маркера мы дополнительно создаем colshape типа сферы с теми же координатами?
    1 point
×
×
  • Create New...