[Анонс] Spawn - среда разработки для создания SAMP и open.mp серверов.

В теме 9 сообщений

Korochansky
Освоившийся

Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

IDE.png.76736cd993ba05eff0407a829adf75c7.png

В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):

 

Полнофункциональный локальный Git: 
Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).

 

Чистый UTF-8 (без BOM): 
Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.

 

История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.

 

Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.

 

Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.

 

И многое другое...

 

И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Доналдо Фарекелка
Постоянный

Ждём всем селом! :dance4:

Отредактировано пользователем Доналдо Фарекелка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Korochansky
Освоившийся

Изменено: Будет поддержка только open.mp!

Было принято такое решение в связи многочисленными костылями и нестабильностью с SAMP.

 

Не знаю как вы это воспримете, но я думаю уже пора уйти от прошлого, и я думаю многие стремятся к этому. 

Отредактировано пользователем Korochansky
Причина: Опечатка

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Korochansky
Освоившийся
1 час назад, Korochansky сказал:

Изменено: Будет поддержка только open.mp!

Было принято такое решение в связи многочисленными костылями и нестабильностью с SAMP.

 

Не знаю как вы это воспримете, но я думаю уже пора уйти от прошлого, и я думаю многие стремятся к этому. 

Но возможность открывать файлы с CP1251 кодировкой, будет

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Korochansky
Освоившийся

Ожидайте в понедельник вторую часть анонса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.
Создатель WayDev

Идее (как и проекту) уже года четыре, если не ошибаюсь. Я, вроде, даже пост в группе студии делал.
Для меня так и остается загадкой почему всё-таки решили забросить разработку и вернуться к ней спустя четыре года.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Korochansky
Освоившийся

@𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧. Я не мог смирится с этим. Я очень хочу внести свой ценный вклад и не просто забросить идею.

Тогда, 4 года назад я совершил ошибку. Я начинал с простого(простые функции, визуальный вид, а потом самое сложно как например кастомное дерево проекта и Git) и упёрся в тупик. 

 

И наконец, пришёл к тому чего хотел. Реализовал сначала сложное, которое работает сейчас очень стабильно. И только теперь, на финишной прямой, я со спокойной душой полирую код и дописываю простые базовые функции вроде Copy, Paste и Cut.

 

Я специально разделил анонс на две части, потому что есть что ещё много чего показать.

 

По поводу кодировок - это отдельная боль.

Программно определить старую однобайтовую кодировку CP1251 со 100% вероятностью технически невозможно — алгоритмы "эвристики" постоянно путают её с условной латинской Windows-1252, из-за чего кириллица может безвозвратно превратиться в кашу.

Я не хочу рисковать исходным кодом пользователей и поэтому добавил в интерфейс функцию ручной конвертации файлов из CP1251 в UTF-8 и обратно. Это просто реализовать, но это полностью исключит ошибки автоопределения.


Что касается отображения строк в самой игре: актуальные версии компилятора от Zeex и open.mp нативно поддерживают компиляцию файлов в кодировке UTF-8.

Да, для  SA-MP без фиксов будут кракозябры в чате, но это дело самого компилятора и сервера.

Продвинутые разработчики крупных проектов давно знают про библиотеку Pawn.RakNet и перехват пакетов для перекодирования строк на лету.

Да, это требует понимания, но если вы настроены серьезно — вас никакая сложность не остановит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Korochansky
Освоившийся

Вторая часть анонса среды разработки Spawn

Быстрое начало работы / Подсветка и вставка кодов цвета / Менеджер зависимостей / Маркеры изменений строк / Выделение ранее отредактированных и сохранённых строк кода(облегчённый Git Diff) / Полноценный Source Control (Git)

 

 

Быстрое начало работы

CreatingProject.thumb.gif.2b011dfa509686e27199ee11de16df95.gif

 

 

Так как Spawn работает в связке с SAMPCTL, это позволяет создать и начать работать над сервером через считанные минуты.

 

Нажимаете "Создать проект", пишете имя проекта, указываете локацию проекта, после следуете инструкции SAMPCTL.

Spawn подхватит новый проект и позволит сразу разрабатывать сервер.

В дополнение, вы можете открыть также открыть папку с уже существующим сервером(инициализирован до этого через SAMPCTL), и также быстро начать работу.

И при этом вы можете использовать Spawn для редактирования отдельных файлов без необходимости открывать проект.

 

 

 

 

 

 

 

Подсветка и вставка кодов цвета прямо в редакторе кода

ColorPreview.thumb.gif.88ada6b088431ed9233917c43a871cf4.gif

 

 

 

 

Наверное одно из самых нужных возможностей.

Наведите каретку на код цвета и она подсветиться соответствующим цветом.

 

Нужно раскрасить строку? Выделяешь строку, выбираешь соответствующий пункт в контекстном меню редактора кода и выбираешь любой цвет из палитры.

 

 

 

 

 

 

 

Менеджер зависимостей

DepManager.thumb.gif.c842e86c8fc4d624fed5b44bf36f61e9.gif

 

 

 

С лёгкостью устанавливайте и удаляйте зависимости в вашем проекте. 

Список показывает только установленные зависимости. Если будут найдены не установленные зависимости, менеджер зависимостей скажет вам об этом.

 

Нужно быстро посмотреть документацию установленной зависимости?

Вы можете посмотреть эту документацию прямо в менеджере зависимостей.

 

 

 

 

 

 

 

Source Control и облегчённая функция Diff

GitDiff.thumb.gif.fb1add5df1e8404367d34767582755e5.gif

Уже не секрет с первого анонса что в Spawn интегрирован Git.

Source Control это ваш страж кода, который не позволит так просто привести к падению сервер по неизвестной ошибке.

Он хранит всю историю вашего кода и позволяет вернуться к моменту когда код работал отлично.

 

Также есть особая функция, это так называемый Diff, но его облегчённая версия.

Написали код, сохранили, запустили сервер, а сервер начал падать? 

Кликните правой кнопкой мыши по модифицированному файлу в Source Control и выберите "Показать модифицированные строки" и прямо в редакторе кода вы увидите какие строки вы редактировали ранее, что позволит быстро найти ошибку и сэкономить время.

 

 

 

 

 

Маркеры изменённых строк

 

Показывают изменённые строки и сохранённые изменения в текущей сессии вкладке с кодом.

Находятся около номеров строк. Имеют жёлтый и зелёный цвет. Жёлтый - изменённая строка, Зелёный - изменённая строка которая была сохранена.

 

 

Открытый исходный код

 

Spawn будет распространяться с открытым исходным кодом под лицензией GPL v3, что позволит внести свой вклад в Spawn и не переживать по поводу вредоносного кода.

 

 

Релиз

 

Первый релиз планируется на эту неделю. На данный момент идёт локализация пользовательского интерфейса и полировка кода программного обеспечения.

 

Ожидайте в репозитории: https://github.com/daniilkorochansky/spawn

Сообщество в Вконтакте: https://vk.com/spawn_ide

Отредактировано пользователем Korochansky

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • patrickk
      От patrickk
      Всем привет, решил написать dm сервер и довольно хорошим получился, даже на голову выше Goat dm. Оставил не решенную проблему тем что  у меня есть 4 локации с rp run и cj run ну а как добавить cj бег на те локации не знаю и как эта система работает. Надеюсь мне помогут знающие люди
    • Samolet
      От Samolet
      Здраствуйте, cоздаю копию Arizona на ОМП, опен мультиплеер, загрузил и подключил бд, но сервер не хочет вот лог :[2026-10-20T21:03:32+0300] [Info] Log file reloaded. Starting open.mp server (1.5.8.3079) from commit c6759bd8d265171ae3d86598895a23d5a8d92a3b Loading component $CAPI.so Successfully loaded component C-API (1.5.8.3079) with UID 10467dd8d4c56fc6 Loading component LegacyConfig.so Successfully loaded component LegacyConfig (1.5.8.3079) with UID 24ef6216838f9ffc Loading component NPCs.so Successfully loaded component NPCs (1.5.8.3079) with UID 3d0e59e87f4e90bc Loading component Recordings.so Successfully loaded component Recordings (1.5.8.3079) with UID 871144d399f5f613 Loading component Checkpoints.so Successfully loaded component Checkpoints (1.5.8.3079) with UID 44a937350d611dde Loading component TextDraws.so Successfully loaded component TextDraws (1.5.8.3079) with UID 9b5dc2b1d15c992a Loading component Pawn.so Successfully loaded component Pawn (1.5.8.3079) with UID 78906cd9f19c36a6 Loading component GangZones.so Successfully loaded component GangZones (1.5.8.3079) with UID b3351d11ee8d8056 Loading component Actors.so Successfully loaded component Actors (1.5.8.3079) with UID c81ca021eae2ad5c Loading component Pickups.so Successfully loaded component Pickups (1.5.8.3079) with UID cf304faa363dd971 Loading component Dialogs.so Successfully loaded component Dialogs (1.5.8.3079) with UID 44a111350d611dde Loading component Objects.so Successfully loaded component Objects (1.5.8.3079) with UID 59f8415f72da6160 Loading component Console.so Successfully loaded component Console (1.5.8.3079) with UID bfa24e49d0c95ee4 Loading component TextLabels.so Successfully loaded component TextLabels (1.5.8.3079) with UID a0c57ea80a009742 Loading component Variables.so Successfully loaded component Variables (1.5.8.3079) with UID 75e121848bc01fa2 Loading component Databases.so Successfully loaded component Databases (1.5.8.3079) with UID 80092e7eb5821a96 Loading component LegacyNetwork.so Successfully loaded component RakNetLegacyNetwork (1.5.8.3079) with UID ea9799fd79cf8442 Loading component CustomModels.so Successfully loaded component CustomModels (1.5.8.3079) with UID 15e3cb1e7c77ffff Loading component Menus.so Successfully loaded component Menus (1.5.8.3079) with UID 621e219eb97ee0b2 Loading component Vehicles.so Successfully loaded component Vehicles (1.5.8.3079) with UID 3f1f62ee9e22ab19 Loading component Classes.so Successfully loaded component Classes (1.5.8.3079) with UID 8cfb3183976da208 Loading component Timers.so Successfully loaded component Timers (1.5.8.3079) with UID 2ad8124c5ea257a3 Loaded 22 component(s) from /home/gs113492/components Executing Server Config... [2026-10-20T21:03:33+0300] [Info] Loading plugin: crashdetect.so [2026-10-20T21:03:33+0300] [Info] CrashDetect plugin 4.19 [2026-10-20T21:03:33+0300] [Info] Loading plugin: mapandreas.so [2026-10-20T21:03:33+0300] [Info] Loading plugin: streamer.so [2026-10-20T21:03:33+0300] [Info] *** Streamer Plugin v2.9.4 by Incognito loaded *** [2026-10-20T21:03:33+0300] [Info] Loading plugin: sscanf.so [2026-10-20T21:03:33+0300] [Info] [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] sscanf plugin loaded. [2026-10-20T21:03:33+0300] [Info] Version: 2.8.3 [2026-10-20T21:03:33+0300] [Info] (c) 2018 Alex "Y_Less" Cole [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] Loading plugin: TOTP.so [2026-10-20T21:03:33+0300] [Info] TOTP plugin v1.0.1 by Games loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: mysql_static.so [2026-10-20T21:03:33+0300] [Info] >> plugin.mysql: R39-6 successfully loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: libpawn_json.so [2026-10-20T21:03:34+0300] [Error] Function not registered: YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_RegAlias [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Reset [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_RegHandler [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Delete [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_New [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_IgnoreBits [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_Init [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendRPC [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendPacket [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_WriteValue [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ReadValue [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Info] Legacy Network started on ***.**.**.***:2717. Помогите пожалуйста
       
    • Shaxmen Generalov
      От Shaxmen Generalov
      Всем привет. Сейчас я работаю над новым CRMP-проектом, создаю его полностью с нуля. Я — бэкенд-разработчик, поэтому мне нужна помощь: хочу найти или создать карту для CRMP (подобную тем, что есть в Amazing или RADMIR). Может, кто-то продает готовую карту или может помочь с её созданием?
    • pFON1Xq
      От pFON1Xq
      Есть у кого сервер самп с картой крмп, просто найти не могу.
    • Core
      От Core

       
      Новый SA:MP-проект, действие которого происходит в портовом городке Бэйсайд!
       
      Территория сервера ограничена и все действия происходят только в городе Бэйсайд. Это сделано для того, чтобы игровой процесс не рассеивался по всему San Andreas, а был сосредоточен в одном городе, за счет чего взаимодействие между игроками может стать чуть плотнее.
      Помимо скучных занятий вроде выполнения квестов, работы, заработка денег и покатушек, здесь можно:
      захватывать острова строить объекты на собственной территории заниматься пиратством и ограблениями рыбачить перерабатывать мусор проводить раскопки торговать предметами через собственные прилавки И это ещё не весь список игровых механик!

      Внутри города есть PvP-арена прямо на вертолетной площадке, а также мероприятие дерби на парящей платформе в небе над городом!

      Сложно отнести мод к какому-то конкретному жанру. Это нечто среднее между Freeroam и Role Play. Одна из особенностей проекта, является замена бесконечных отыгровок /me, /do, /try на видимые действия с помощью кнопок и анимирования персонажа. То есть, вместо описания очевидных действий в чате, можно взаимодействовать с игровым миром напрямую.

      Сейчас проходит открытое тестирование мода и посетить этот сервер может любой желающий!
      Будет большой поддержкой, если вы посетите Porttown и не удалите его из избранного.
      Отдельной гигантской поддержкой будут баг-репорты, которые вы можете оставлять в личные сообщения группы ВК или под этой темой.
       
      Открытие сервера 28 октября!

      IP: 153.76.163.45:7777
      ВК: https://vk.ru/porttown_samp