Как перенести данные игрока из одиночной игры на сервер Project Zomboid

Серверы Project Zomboid могут загружать локальные миры и данные игроков, чтобы возобновить прогресс, достигнутый локально. Загрузка мира проста и быстра; однако для переноса данных игроков пользователю необходимо отредактировать свои базы данных SQL. Перенося существующие данные игроков, пользователи могут изучать различные обновления и новые сборки, доступные для их существующих персонажей, при условии совместимости сохранений.


1. Войдите в панель управления Masspas .

2. Остановите сервер.
BHStop.webp

3. Перейдите на вкладку «Файлы» .
BHFiles.webp

4. Найдите следующую директорию: ./home/container/.cache/Saves/Multiplayer
PZ_SaveFilepathServer.webp

5. Откройте нужную папку World .
PZ_TakeNoteofWorldName.webp

6. Загрузите файл с сервера.players.db
PZ_DownloadPlayerDB.webp

7. После загрузки удалите файл с сервера.
PZ_DeletePlayerFileAfterDownload.webp

8. В проводнике файлов создайте новую папку «Рабочая область» .
PZ_CreateWorkspaceFolder.webp

9. Поместите загруженный файл в папку «Рабочая область» .
PZ_PlacePlayersDBWorkspace.webp

10. Переименуйте файл в .Oldplayers.db
PZ_RenameDataOld.webp

11. Загрузите SQLite Database Browser с их веб-сайта .
PZ_DownloadSQDBLite.webp

12. Откройте браузер баз данных и нажмите Файл > Открыть базу данных .
PZ_OpenDatabase.webp

13. Найдите созданную папку Workspace и откройте файл.Oldplayers.db
PZ_LoadOldPlayersDB.webp

14. Перейдите на вкладку «Просмотр данных» и в таблицу localPlayers . Если в таблице указаны игроки, это подтверждает, что это правильный файл.
PZ_BrowseDataLocalTable.webp

15. На игровом столе скопируйте координаты X , Y и всех игроков, которых нужно переместить, и вставьте их в любую предпочитаемую программу для ведения заметок, например, Блокнот .
PZ_TakeNoteofXYZ.webp
PZ_WriteXYZNoteSoftware.webp

16. Щелкните правой кнопкой мыши по полю «Данные» для игроков, которых нужно перевести, и выберите «Копировать как SQL» .
PZ_CopyDataSQL.webp

17. Вставьте SQL-код в документ вместе с координатами XYZ.
PZ_PasteSQLStatementNotes.webp

18. Удалите скобки ( ) и точку с запятой ( ) из начала и конца строки.();
PZ_DeleteParanthesis1.webp
PZ_DeleteParanthesis2.webp

19. Вернитесь на панель управления Masspas .

20. Запустите сервер, чтобы создать новый файл. players.db
BHStart.webp

21. Присоединяйтесь к серверу.
PZ_JoinServerToGeneratePlayer.webp

22. Создайте персонажа, которого нужно будет заменить позже, и нажмите «Играть» .
PZ_CreatePlaceholderCharacter.webp

Примечание: Всем остальным игрокам, которых необходимо перенести на сервер, также необходимо присоединиться к серверу и создать персонажа-заглушку.

23. После загрузки остановите сервер.
BHStop.webp

24. Вернитесь в папку «Мир» и загрузите новый файл.players.db
PZ_DownloadPlayerDB.webp

25. После загрузки удалите файл с сервера.
PZ_DeletePlayerFileAfterDownload.webp

26. Поместите загруженный файл в папку «Рабочая область» .
PZ_DownloadNewPlayersDBWorkspace.webp

27. Переименуйте файл в .Newplayers.db
PZ_NewPlayersDB.webp

28. Откройте браузер баз данных и нажмите Файл > Открыть базу данных .
PZ_OpenDatabase.webp

29. Откройте файл из папки «Рабочая область» .Newplayers.db
PZ_OpenNewPlayersDB.webp

30. Выберите вкладку «Выполнить SQL» .
PZ_ExecuteSQLTab.webp

31. Скопируйте и вставьте следующий шаблон в область кода:
PZ_CopyPasteSQLTemplate.webp

-- Update player data
UPDATE "main"."REPLACE_WITH_TABLE" -- Select which table you'd like to modify.
SET data = NULL -- Replace “NULL” with value inside the copied SQL command VALUES(); method
WHERE id = 1; -- The ID is the row you're replacing the value of for the character you created earlier.

-- Update player X coord
UPDATE "main"."REPLACE_WITH_TABLE" -- Select which table you'd like to modify.
SET x = 0 -- Replace with the X coordinate of the player.
WHERE id = 1; -- The ID is the row you're replacing the value of for the character you created.

-- Update player Y coord
UPDATE "main"."REPLACE_WITH_TABLE" -- Select which table you'd like to modify.
SET y = 0 -- Replace with the Y coordinate of the player.
WHERE id = 1; -- The ID is the row you're replacing the value of for the character you created.

-- Update player Z coord
UPDATE "main"."REPLACE_WITH_TABLE" -- Select which table you'd like to modify.
SET z = 0 -- Replace with the Z coordinate of the player.
WHERE id = 1; -- The ID is the row you're replacing the value of for the character you created.

32. Замените все разделы на ."REPLACE_WITH_TABLE""networkPlayers"
PZ_ReplaceNetworkPlayers.webp

33. Убедитесь, что в таблице networkPlayers установлено значение, соответствующее указанному слоту игрока .WHERE id =
PZ_SelectRowForPlayer.webp

34. Замените « после» на SQL-запрос для игрока, начиная с .NULLSET data =X'
PZ_ReplaceNullData.webp

35. Замените значения X , Y и Z на значения, указанные ранее в шаге 16 .
PZ_ReplaceXYZ.webp

36. После замены всех значений нажмите кнопку " Выполнить весь/выбранный SQL-запрос" .
PZ_RunSQLCode.webp

Примечание: Повторите шаги 32-37 для каждого игрока, которого необходимо перевести. Убедитесь, что для каждого игрока в таблице networkPlayers ведется учет его слотов, чтобы установить его параметры , и что его параметры 'SQL' и 'XYZ' соответствуют информации, полученной из таблицы .WHERE id =Oldplayers.db 

37. Выберите «Файл» и нажмите «Записать изменения» , а также «Сохранить все» .
PZ_FileWriteChanges.webp
PZ_SaveAll.webp

38. Перейдите в папку Workspace и переименуйте ее в .Newplayers.dbplayers.db
PZ_RenameNewToPlayersDb.webp

39. Вернитесь на панель управления Masspas .

40. Загрузите файл в папку мира.players.db
PZ_UploadPlayersDB.webp

41. Запустите сервер.
BHStart.webp