帕鲁私服Ubuntu教程以及自动重启程序

这篇具有很好参考价值的文章主要介绍了帕鲁私服Ubuntu教程以及自动重启程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


ubuntu重启帕鲁,python,ubuntu,linux,动画,python

1 帕鲁私服教程

1.ubuntu教程
2.windows教程
3.服务器参数修改
.steam/SteamApps/common/PalServer/路径下 DefaultPalWorldSettings.ini 文件
移动到.steam/SteamApps/common/PalServer/Pal/Saved/Config/LinuxServer路径下
更名为PalWorldSettings.ini,并修改其内容即可
4.回档
a.服务端程序重启时部分玩家存档丢失:这个需要事先将SaveGames文件下内容进行备份,然后选取合适时间的备份文件进行还原。出现这种情况的时候,这些掉档的玩家已经尝试连接服务器,并且发现需要重新创建角色了,所以还需要在本地修改本地存档。在帕鲁的本地数据中已经steam云中已经有本地存档的备份,原理不过多阐述。
备份的路径在:
C:\Users\admuser\AppData\Local\Pal\Saved\SaveGames\Userid\gameid
备份文件在backup文件夹中
admuser:管理员用户,一般大部分电脑管理员用户就是自己
Userid:标识用户id(和身份证类似)
gameid:可以认为是幻兽帕鲁的世界种子号
自己更换前一定得确认要回档到和服务器差不多时间的本地档

2 服务器说明

帕鲁服务器在实际运行的时候好像只用了一个核心,如果是六七个伙伴一起玩,可以租一个2核16G的服务器(比4核8G便宜)。众所周知像阿里云等平台节假日时会有送代金券或者优惠的活动,租一个月相对来说还是挺便宜的(新号)。

3 自动重启程序

因为帕鲁的内存管理有些糟糕,小伙伴们玩一会服务器内存就满了,针对这个问题可以写一个脚本来监控内存,实现自动重启服务程序,这样就可以避免重启服务器。思路就是编写一个python程序分两个子进程;一个进程监控内存,内存使用率达到98%左右就杀掉服务程序;另一个进程则监控服务程序是否开启,如果没有开启就运行服务程序。

3.1 python程序

import multiprocessing
import psutil
import subprocess
import time
import os
import shutil
import datetime

sh_end = "/home/steam/doit.sh"  # 结束服务程序脚本
sh_start = "/home/steam/start.sh"  # 开启服务程序脚本
sh_todo = "/home/steam/todo.sh"  # 查询服务程序


def todosh(cmd):  # 执行脚本函数
    try:
        result = subprocess.run(cmd, shell=True, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                                text=True)
        # 输出Shell脚本的标准输出
        return str(result.stdout)

    except subprocess.CalledProcessError as e:
        return str(e)


def backup(source_folder, dest_folder):
    timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    backup_name = f"backup_{timestamp}"
    backup_path = os.path.join(dest_folder, backup_name)

    shutil.make_archive(backup_path, 'zip', source_folder)


def check():  # 检查服务程序是否开启
    if len(todosh(sh_todo)) > 1:
        return True
    return False


def start_pal():  # 开启服务程序进程
    while True:
        if not check():
            todosh(sh_start)
        print('check')
        time.sleep(120)


def end_pal():  # 结束服务程序进程
    while True:
        time.sleep(5)
        mem = psutil.virtual_memory()
        use_per = int(round(mem.percent))
        print('check2')
        if use_per >= 98:
            todosh(sh_end)


def backups():
    source_folder = 'home/steam/.steam/SteamApps/common/PalServer/Pal/Saved/SaveGames'
    dest_folder = ' home/steam/.steam/SteamApps/common/PalServer/Pal/Saved/'
    while True:
        time.sleep(6 * 60 * 60)
        backup(source_folder, dest_folder)


if __name__ == "__main__":
    # 创建三个进程
    process_a = multiprocessing.Process(target=start_pal)
    process_b = multiprocessing.Process(target=end_pal)
    process_c = multiprocessing.Process(target=backups)
    # 进程开始
    process_a.start()
    process_b.start()
    process_c.start()
    # 主进程空转
    try:
        while True:
            time.sleep(2)
    except KeyboardInterrupt:
        # 捕捉键盘中断信号,例如 Ctrl+C
        pass
    finally:
        # 终止进程
        process_a.terminate()
        process_b.terminate()
        process_c.terminate()

        # 等待进程结束
        process_a.join()
        process_b.join()
        process_c.join()


3.2 doit.sh

#!/bin/bash
str=`ps aux | grep "/PalServer" | grep -v grep | awk '{print $2}'`
kill -9 $str

ps aux | grep "/PalServer" | grep -v grep | awk '{print $2}'这一行代码的作用是将所有进程中含有PalServer名字的进程PID找到

3.3 start.sh

#!/bin/bash
/home/steam/.steam/steamapps/common/PalServer/PalServer.sh

注意这里需要和自己服务器的PalServer.sh位置相同。

3.4 todo.sh

str=`ps aux | grep "/PalServer" | grep -v grep | awk '{print $2}'`
echo $str

3.5 使用说明

1 sh文件可使用chmod +x xx.sh 提高权限。
2 使用本程序需要python环境,可以下载3.10左右就行。一般阿里云等服务器都内置好了。
3 可以定时4~5小时备份(就是将存档文件复制一份)。文章来源地址https://www.toymoban.com/news/detail-836325.html

到了这里,关于帕鲁私服Ubuntu教程以及自动重启程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 宇宙最强帕鲁私服管理器诞生了!

    帕鲁私服虽香,管理员没有称手的管理工具怎么行?难道让我手敲命令行?那是帕鲁干的事情好吗,我需要大屏,点点鼠标就能操作的那种,有没有? 有!palworld-server-tool 是一款非常强悍的帕鲁私服管理器,它通过可视化界面及 REST 接口管理帕鲁私服,基于 SAV 存档文件解析

    2024年02月19日
    浏览(26)
  • 幻兽帕鲁官方服务器不稳定?自己搭建幻兽帕鲁私服,告别卡顿

    幻兽帕鲁作为2024年开年最火爆的游戏,没有之一。一路靠着热梗从一个缝合怪完美逆袭,玩家们在里面战斗、建造、工作等玩的不亦乐乎。更有意思的是,玩家可以自建服务器,通过设置服务器参数来控制游戏资源掉落率和各种概率,也就是可以通过自建服务器打造一个符合自己玩

    2024年02月20日
    浏览(47)
  • 极速搭建幻兽帕鲁私服,叫上好友春节假期一起联机畅玩帕鲁

    行业资讯 《幻兽帕鲁》的火爆对开发商 Pocketpair 来说,代价是巨大的。该游戏的成功让首席执行官沟部拓郎最近在推特上表示,他可能因服务器运营费用而面临破产。据他透露,2月份的服务器服务费预计高达7053万日元(约合47.8万美元/338.5万元人民币) 沟部拓郎半开玩笑地

    2024年02月21日
    浏览(37)
  • Ubuntu20.04 Docker搭建远程xfce桌面以及ssh教程

    简介 :本文主要介绍ubuntu20.04容器中搭建xfce远程桌面、C++、Go环境、容器内docker操作配置、zsh配置 docker pull ubuntu:20.04 docker run -itd --privileged --name=my-desktop --ulimit memlock=-1:-1 --network=\\\"network-local\\\" -p 22666:22 -p 5901:5901 -v /var/run/docker.sock:/var/run/docker.sock ubuntu:20.04 /bin/bash docker exec -it 

    2023年04月14日
    浏览(40)
  • 查看ubuntu重启原因

    ubuntu总是重启,不知道啥原因。记录下查找过程 问了chatgpt原因,叫我查看一下log /var/log/syslog /var/log/kern.log /var/log/auth.log 叫用指令last, uptime, journalctl, dmesg这些指令查看,log里啥都每看出来。 查看cpu温度也还好 查看显卡温度 也没啥问题 参考ubuntu训练深度学习模型电脑重启解

    2024年02月12日
    浏览(42)
  • ubuntu重启ssh服务

    一、开启ssh服务首先需要安装打开ssh服务的库: sudo apt-get install openssh-server 二、检查当前的ssh开启情况: ps -e |grep ssh 三、如果有sshd,则ssh-server已经启动;若仅有agent,则尚未启动; 开启ssh服务: /etc/init.d/ssh start 或者systemctl restart sshd 四、如果希望开机自动启动ssh服务 su

    2024年02月09日
    浏览(30)
  • 重启Ubuntu网络功能

    如果您使用的是 Ubuntu 桌面版,可以通过 Ctrl+Alt+T 快捷键打开「终端」,然后使用以下命令重启 Ubuntu 网络功能: 执行上述命令后,网络图标会消失片刻,然后再重新出现,以表示服务重启成功。 service 命令只是包装好的通用命令(也适用于 init.d 脚本和 Upstart 命令),而在新

    2024年02月16日
    浏览(36)
  • Ubuntu设置定时重启

    1.安装/更新 cron 安装crontab 更新命令 2.配置cron定时任务 下列命令表示每天0点重启设备

    2024年02月12日
    浏览(42)
  • Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程

    本文将指导如何在 Debian 12 和 Ubuntu 22.04 下安装 Docker 以及 Docker Compose。 PS:本文同时适用于 Debian 11 以及 Ubuntu 20.04 什么是 Docker? Docker 是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件,而不再需要安装配置各种环境。开源 Docker 社区致力

    2024年02月05日
    浏览(48)
  • 如何在Ubuntu中重启网络

    在Ubuntu操作系统中,你可以使用几种方法来重启网络连接。无论是通过命令行还是图形界面,下面将介绍两种常用的方法。 方法一:通过命令行 打开终端。你可以使用快捷键Ctrl+Alt+T来打开终端,或者在应用程序菜单中搜索并打开“终端”。 输入以下命令来重启网络服务:

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包