Kenix

Other Languages Moderators
  • Content Count

    4,108
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Kenix

  1. @refresh Настройте правильно внешний веб сервер nginx.
  2. I using: Linux Debian 8. MTA:SA Server v1.5.7-release-20359 External web server: nginx nginx.conf: user www-data; worker_processes 4; pid /run/nginx.pid; worker_rlimit_nofile 5000; events { worker_connections 5000; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; gzip_types *; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #} I got sometimes this errors in my server.log [20-02-13 16:08:31] DIAGNOSTIC: NooBiK #1012 External HTTP file download error:[28] Error downloading requested files. Timeout was reached. [Connection timed out after 6000 milliseconds] [Resources/Models/Vehicles/ae86.bin] (Disabling External HTTP) [projects\mta\mta\mods\deathmatch\resources\gm_models\Resources\Models\Vehicles\ae86.bin] [20-02-13 16:08:49] DIAGNOSTIC: NooBiK #1012 External HTTP file download error:[28] Error downloading requested files. Timeout was reached. [Connection timed out after 6009 milliseconds] [Resources/Models/Vehicles/altezza.bin] (Disabling External HTTP) [projects\mta\mta\mods\deathmatch\resources\gm_models\Resources\Models\Vehicles\altezza.bin] [20-02-13 16:09:04] DIAGNOSTIC: NooBiK #1012 External HTTP file download error:[28] Error downloading requested files. Timeout was reached. [Operation too slow. Less than 10 bytes/sec transferred the last 6 seconds] [Resources/Models/Vehicles/bmwe46.bin] (Disabling External HTTP) [projects\mta\mta\mods\deathmatch\resources\gm_models\Resources\Models\Vehicles\bmwe46.bin] [20-02-13 19:22:20] DIAGNOSTIC: BeLow^#008080cya #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Images\AjaxLoader\Circle\5.png] [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\10.png] [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\4.png] [20-02-13 19:34:44] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\9.png] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 22:27:12] DIAGNOSTIC: MaxDeep #1013 HTTP server file mismatch (gm_retexture) sidewgrass4.dds [Got size:262272 MD5:0655E4F258C0C425B32A7D5E1D4AB714, wanted MD5:7ADF5BC464D3192F5210D5B4926FDECA] It happens randomly for some people (the same files list for player but random files for others). Some logs from nginx access.log ***(IP)***** - - [13/Feb/2020:19:34:40 +0100] "GET /server_cache/gm_images/Resources/Textures/Vehicle/Paintjobs/9.png HTTP/1.1" 200 4306241 "-" "MTA:SA Server 51.75.147.186:22003 - See http://mtasa.com/agent/" ***(IP)***** - - [13/Feb/2020:22:27:09 +0100] "GET /server_cache/gm_retexture/Textures2/sidewgrass4.dds HTTP/1.1" 200 143158 "-" "MTA:SA Server 51.75.147.186:22003 - See http://mtasa.com/agent/" Look at time And after this i see [20-02-13 19:34:05] CONNECT: WantingEyeball15 connected (IP: ******* Serial: ******* Version: 1.5.7-9.20358.0) [20-02-13 19:34:08] JOIN: WantingEyeball15 joined the game (IP: *******) [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\10.png] [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\4.png] [20-02-13 19:34:44] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\9.png] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 19:35:23] QUIT: WantingEyeball15 left the game [Timed out] [20-02-13 19:35:24] QUIT: />#000000Polic left the game [Quit] [20-02-13 19:41:57] CONNECT: WantingEyeball15 connected (IP: ******* Serial: ******* Version: 1.5.7-9.20358.0) [20-02-13 19:41:58] JOIN: WantingEyeball15 joined the game (IP: *******) [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 19:42:18] QUIT: WantingEyeball15 left the game [Timed out] [20-02-13 19:47:33] CONNECT: WantingEyeball15 connected (IP: ******* Serial: ******* Version: 1.5.7-9.20358.0) [20-02-13 19:47:33] JOIN: WantingEyeball15 joined the game (IP: *******) [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 19:47:53] QUIT: WantingEyeball15 left the game [Timed out] It's a big problem to catch what is going on and why user is getting 'Timed out' error. Maybe we should make some external URL crash (send it via external .exe file) dump url or something? Idk how server owners can catch this errors.
  3. Discord link is updated: https://discord.gg/tKZtZWK UPD
  4. Project is opened (Open beta test). IP: mtasa://51.75.147.186:22003
  5. Я на своем опыте скажу, что это не так. Почему? Для маленьких модов да, можно в одном ресурсе, но дальше идут проблемы. Если проект будет большой и нужно в режиме реального времени обновлять его, например внести изменения в конфиг, то сделать не получится такое если всё в одном ресурсе. Нужно будет перезапускать весь мод. Также скорость разработки снизится, т.к сделав любое изменение вам придется долго ждать, особенно это касается верстки интерфейсов. Любое изменение в UI вы можете легко проверить в игре, сделав просто рестарт, остальные ресурсы будут работать как и работали. Лучше когда много ресурсов, каждый ресурс выполняется в своем VM, так безопаснее чем это всё делать в одной. Также если проект поделен по ресурсам есть другая проблема, это использование так называемых utility функций, их придется кидать в каждый ресурс, при грамотном подходе это решается легко. Если будете делать командой, то можно легко делать разработку, каждый работает над своим ресурсом и он легко внедряется на сервер. Организация ресурсов может быть такой: [assets] // папка с вашыми ресурсами, это могут быть шрифты, картинки, шейдеры, модели, звуки и т.д [ui] // UI вашего мода, например это может быть какой нибудь банк или автосалон [engine] // Ваш мод, основные компоненты, база или какие-то функции, utilities [third_party] // Ресурсы сторонних авторов [game] // Сами ресурсы реализация, например создание автосалонов на стороне сервера Также можно организовать папки по элементам [player] [vehicle] // например vehicle_tuning, vehicle_wheels. [property] и т.д Это тоже интересный подход.
  6. Можете скинуть данный хак кому нибудь в Discord/на форуме в личные сообщения (красный никнейм)
  7. Because table.insert inserts only 1 value to table. In your case you should use for loop and call table.insert per iteration. Please read Lua docs:
  8. Kenix

    CJ Clothes

    Using setAccountData or db functions. https://wiki.multitheftauto.com/wiki/SetAccountData https://wiki.multitheftauto.com/wiki/DbQuery When you load/save https://wiki.multitheftauto.com/wiki/AddPedClothes https://wiki.multitheftauto.com/wiki/GetPedClothes
  9. @XaskeL Try https://github.com/crosire/reshade-shaders/blob/master/Shaders/SMAA.fx https://github.com/crosire/reshade-shaders/blob/master/Shaders/SMAA.fxh Also https://github.com/iryoku/smaa/blob/master/Demo/DX9/Shaders/SMAA.fx https://github.com/MikuMikuShaders/SMAA/blob/master/SMAA.fx https://github.com/ze413X/AA-FXAA-SMAA/tree/master/Application/Assets/Shaders
  10. Может стоит рисовать на одном RT все текстуры а какую-то часть отрисовывать потом через https://wiki.multitheftauto.com/wiki/DxDrawImageSection как вариант вообще надо детальнее смотреть (код и т.д), желательно бы ещё протестить на разных версиях мта.
  11. Есть два варианта решения проблемы. 1. Можно сделать свою загрузку файлов через triggerLatentClientEvent https://wiki.multitheftauto.com/wiki/TriggerLatentClientEvent Статус загрузки получать через https://wiki.multitheftauto.com/wiki/GetLatentEventStatus 2. Загрузка файлов через https://wiki.multitheftauto.com/wiki/DownloadFile Получение статуса загрузки https://wiki.multitheftauto.com/wiki/OnClientFileDownloadComplete Оба способа решают вашу проблему, но они все имеют недостатки и на мой взгляд существенные. 1. Способ предусматривает то что вам нужно хранить все эти файлы в виде кэша ради быстрого доступа, т.к модели занимают большое кол-во байтов, то вам понадобится много оперативной памяти + вы должны решить сколько вы готовы передавать данных, мта это делает куда лучше чем если вы это сделаете сами. 2. Способ лучше и проще, но тоже не идеален, я писал когда-то давно загрузку, но у меня на сервере падал LogicFPS при скачивании файлов, не знаю решена ли сейчас данная проблема или нет, если у вас при загрузке файлов таким способом все нормально, то пробуйте, но лучше проверьте. Я считаю что вам лучше смериться и просто поработать над анимацией загрузочного окна, сделать так чтобы этот прогресс бар, который вы хотите скрыть был частью вашего нового загрузочного окна. Сам фон вы можно круто анимировать, добавить звуковые эффекты и т.д UPD: Примеры кода, возможно вам это поможет разобраться быстрее. https://community.multitheftauto.com/index.php?p=resources&s=details&id=11265
  12. Kenix

    handling

    https://wiki.multitheftauto.com/wiki/SetVehicleHandling driveType: 'rwd', 'fwd' или 'awd'.
  13. Kenix

    guiGetText

    local text = guiGetText( yourGuiElement ); if ( text:find( "@" ) ) then outputChatBox( "contains @" ); else outputChatBox( "contains none " ); end Also you can use pregMatch functions. UPD: http://Lua-users.org/wiki/PatternsTutorial http://www.Lua.org/manual/5.1/manual.html#5.4.1
  14. Можно через вращение компонентов либо замены другого транспорта SWAT например или пожарной машины, у них есть крутящаяся турель. https://wiki.multitheftauto.com/wiki/SetVehicleComponentRotation https://wiki.multitheftauto.com/wiki/SetVehicleComponentPosition
  15. Hi everyone, a long time ago (novermber 2018) i started making new project called MTA Racing. This project has an own unique atmosphere legendary games such as: NFS Underground 1/2 + Midnight Club games series by Rockstar games. I am a big fun of it and we started implement it, but this project has status abandoned in april 2019. But right now i decided to finish it in free time. Now i gonna tell you more info about this. Features: Custom mapping around Los Santos, 70% remake. Custom race tracks. Tuning: Spoilers Front/Rear/Side bumbers Neon Lights Windows tinting Race modes: Circluit Sprint URL Speedtrap Top Time Drift Street-X Drag Vehicles: BMW M3 Camaro SS Audi TT Mercedes AMG Subaru Impreza Lexus IS 300 Nissan Skyline R34 Toyota Supra Mitsubishi Lancer Evo X Dodge Viper 2018 Lamborghini Huracan Mercedes E63 Audi R8 Custom OST: 60+ songs (via stream) Languages (You can send me your language and i gonna add it) Russian English Now i gonna show you some screenshots: Open beta test: IP: mtasa://51.75.147.186:22003 Groups: VK: https://vk.com/mta_race Facebook: http://fb.com/mtarace Discord: https://discord.gg/tKZtZWK
  16. It's private. I need test it more properly before adding pull request.
  17. I implemented it in another project. Changing ColModels/Building limits working perfectly with MTA. But i don't tested it with engine functions.
  18. Kenix

    GTA:SA Radar-merger

    Hi everyone. I just wanna present my script called "radar-merger". I made this script for another project. It uses node js and "combine-tiles" package. It merge every tile .png file into one combined file in gta:sa radar format. Here is GitHub link to project + instruction. GitHub: https://github.com/Kenix157/gta-radar-merger
  19. @IIYAMA It cause another problem with render events, it starts call from end (which is not needed to us, because dx render events has "layers" and you need to call from 1 to table lenght) If you're using table.remove function, everything should work fine after remove item from table. Let me explain: local a = {}; local func = function() end; a[ #a + 1 ] = func; for i = 1, #a do if a[ i ] == func then table.remove( a, i ); end end print( #( a ) ); -- 0 table.remove safely remove item from table, it's not contains a [1] index with nil value, it's clear Proof: local a = {}; local func = function() end; a[ #a + 1 ] = func; for i = 1, #a do if a[ i ] == func then table.remove( a, i ); end end print( #( a ) ); -- 0 local func = function() end; a[ #a + 1 ] = func; print( #( a ) ); -- 1 Another example: local a = { 1, 2 }; local func = function() end; a[ #a + 1 ] = func; for i = 1, #a do if a[ i ] == func then table.remove( a, i ); end end print( #( a ) ); -- 2 local func = function() end; a[ #a + 1 ] = func; for i = 1, #a do if a[ i ] == func then table.remove( a, i ); end end print( #( a ) ); -- 2 And finally (shows how another items is reordered): from { [1] = 1, [2] = func, [3] = 2} -> {[1] = 1, [2] = 2} local func = function() end; local a = { 1, func, 2 }; print( "before", #a ); -- 3 for i = 1, #a do if a[ i ] == func then table.remove( a, i ); end end print( "after", #a ); -- 2 test here: https://www.Lua.org/cgi-bin/demo
  20. Problem resolved. Thank you so much. (incorrect net module throw the problem, maybe old version idk)
  21. I just run after compile ./linux-install-data.sh