Jump to content

Leaderboard

Popular Content

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

  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...