草庐IT

V Rising 服务器搭建

笑笑布丁 2023-04-21 原文

前情提要:周末弄了个 V Rising 的服务器,和朋友一起玩,V Rising 自己的服务器太拉垮了.

需要准备的东西

假如你没有云服务器的话,你需要知道本机的公网ip,个人是推荐购买一台云服务器,只是和几个朋友玩的话,配置也不用太好,我现在用的是2核 4GB 8Mbps的腾讯云服务器(之前博主,选的稍低的配置,会出现性能倾轧的情况,现有配置目前是四个人玩,没有压力).看我这篇文章,非技术小白也可以操作,不用担心. 云服务器(TIPS:选离自己近的机房)一定要装windows server,因为V Rising 只有windows版本,没有linux,不需要像我一样,用centos完善包,下下来之后,看到.exe文件傻了眼.

今天发现TX云现在618搞活动,2核4G6M,领券一年只要120(博主之前在博文提过45的套餐,但经过博主的的使用体验,博主自己已经升级配置为2核 4GB 8Mbps的TX云服务器),推荐买120的,第一个性能和带宽、流量更高,玩起来更流畅,玩游戏爽才是王道,第二个是有小伙伴跟我反应45的套餐对部分运营商的ip不是很友好,所以有能力尽量上120的套餐,第三个官方未来升级server的话,如果对性能要求提升,120的可以无忧渡过),页面下滑即可看到,链接在此

开搞

120套餐

1、选择系统&重置密码



2、记住windows server的用户名和密码,并在云服务器控制台的防火墙,开放服务器的9876、9877端口,下图打码位置为公网IP



入站规则端口
 UDP  9876,9877
 TCP 22,3389,80,443,20,21,9876,9877
2、连接远程服务器(通用)
win + r 打开运行
mstsc 打开windows server远程连接
输入 公网ip、用户名(一般是Administrator)
点击连接 输入密码,可以保存rdp文件,方便后续连接.




连接的时候会提醒你证书的问题,选是就可以了

2、进入云服务服务器下载steam cmd

steamcmd下载地址

3、打开蒸汽cmd

点击下载的exe文件,依次输入下面的命令.

force_install_dir "C:\VRisingServerFolder"

login anonymous  匿名登录

app_update 1829350 validate   下载 V Rising server

quit 退出

4、打开V Rising server

一般server会在 steamcmd\steamapps\common\VRisingDedicatedServer 下,如果你是按照我的教程来的则是:C:\vrisingserverfolder

运行:VRisingServer.exe
第一次运行会慢一点,生成配置文件后,再自行替换(新版本貌似下下来就有配置文件,可以先看看有没有)

配置 文件路径steamcmd\steamapps\common\VRisingDedicatedServer\VRisingServer_Data\StreamingAssets\Settings

我的教程路径:C:\vrisingserverfolder\VRisingServer_Data\StreamingAssets\Settings

5、参数说明
ServerHostSettings.json
{
  "Name": "xiaoxiaobuding", //服务器名字
  "Description": "", //服务器描述
  "Port": 9876, //服务器登录端口
  "QueryPort": 9877,        //服务器查询端口
  "MaxConnectedUsers": 10, //服务器最大人数
  "MaxConnectedAdmins": 4, //服务器最大管理员连接人数
  "ServerFps": 30,        //服务器FPS
  "SaveName": "world", //服务器存档名字
  "Password": "", //服务器密码
  "Secure": true, //服务器保护
  "ListOnMasterServer": true, //设置服务器能否被搜到,不想搜到就填写false
  "AutoSaveCount": 50, //服务器自动保存数量
  "AutoSaveInterval": 600, //服务器每个多少秒保存一次
  "GameSettingsPreset": "", //服务器游戏设置预设(默认PvP) 例子:StandardPvP or StandardPvE
  "AdminOnlyDebugEvents": true, //只允许服务器管理员可调试事件
  "DisableDebugEvents": false //禁止调试事件
}
ServerGameSettings.json //服务器游戏设置文件
{
  "GameModeType": "PvP", //游戏模式类型可选PVE
  "CastleDamageMode": "Always", //城堡伤害模式
  "SiegeWeaponHealth": "Normal", //攻城武器生命值
  "PlayerDamageMode": "Always", //玩家伤害模式
  "ClanSize": 10  ,意思是部落最大人数是10
  "CastleHeartDamageMode": "CanBeDestroyedByPlayers", //城堡生命伤害模式
  "PvPProtectionMode": "Medium", //PvP保护模式
  "DeathContainerPermission": "Anyone", //死亡容器权限
  "RelicSpawnType": "Unique", //遗迹生成类型
  "CanLootEnemyContainers": true, //可以掠夺敌人的箱子
  "BloodBoundEquipment": true, //血缘装备
  "TeleportBoundItems": true, //传送绑定道具
  "AllowGlobalChat": true, //允许全局聊天
  "AllWaypointsUnlocked": false, //所有航路点已解锁
  "FreeCastleClaim": false, //自由城堡领地
  "FreeCastleDestroy": false, //自由城堡摧毁
  "InactivityKillEnabled": true, //已启用非活动清理
  "InactivityKillTimeMin": 3600, //非活动事件或AI清理最小时间
  "InactivityKillTimeMax": 604800, //非活动事件或AI清理最大时间
  "InactivityKillSafeTimeAddition": 172800, //非活动增加清理保护时间
  "InactivityKillTimerMaxItemLevel": 84, //非活动道具最大时间清理等级
  "DisableDisconnectedDeadEnabled": true, //启用无效连接断开
  "DisableDisconnectedDeadTimer": 60, //无效连接断开最大时间
  "InventoryStacksModifier": 1.0, //一堆库存道具百分比
  "DropTableModifier_General": 1.0, //常规数据删除百分比 
  "DropTableModifier_Missions": 1.0, //任务数据删除百分比
  "MaterialYieldModifier_Global": 1.0, //全局材料产量百分比
  "BloodEssenceYieldModifier": 1.0, //精血生产百分比
  "JournalVBloodSourceUnitMaxDistance": 25.0, //记录V血源装置最大距离
  "PvPVampireRespawnModifier": 1.0, //PVP吸血鬼复活概率
  "CastleMinimumDistanceInFloors": 2, //城堡楼层之间最小距离
  "ClanSize": 4, //宗族领主领地规模
  "BloodDrainModifier": 1.0, //精血消耗百分比
  "DurabilityDrainModifier": 1.0, //耐力消耗百分比
  "GarlicAreaStrengthModifier": 1.0, //大蒜面积强度百分比
  "HolyAreaStrengthModifier": 1.0, //神圣区域强度百分比
  "SilverStrengthModifier": 1.0, //银强度百分比
  "SunDamageModifier": 1.0,  //太阳伤害强度百分比
  "CastleDecayRateModifier": 1.0, //城堡衰退速度百分比
  "CastleBloodEssenceDrainModifier": 1.0, //城堡精血消耗百分比
  "CastleSiegeTimer": 420.0, //城堡攻城时间
  "CastleUnderAttackTimer": 60.0, //城堡受到攻击的时间
  "AnnounceSiegeWeaponSpawn": true, //通知攻城武器生成
  "ShowSiegeWeaponMapIcon": true, //显示攻城武器地图图标
  "BuildCostModifier": 1.0, //建筑成本百分比
  "RecipeCostModifier": 1.0, //配方成本百分比
  "CraftRateModifier": 1.0, //技能速度百分比
  "ResearchCostModifier": 1.0, //研究成本百分比
  "RefinementCostModifier": 1.0, //精炼成本百分比
  "RefinementRateModifier": 1.0, //精炼速度百分比
  "ResearchTimeModifier": 1.0, //研究时间百分比
  "DismantleResourceModifier": 0.75, //拆除成本百分比
  "ServantConvertRateModifier": 1.0, //仆人转化速度百分比
  "RepairCostModifier": 1.0, //维护成本百分比
  "Death_DurabilityFactorLoss": 0.25, //消亡耐久性损失系数
  "Death_DurabilityLossFactorAsResources": 1.0, //消亡耐久性资源损失系数
  "StarterEquipmentId": 0, //初始装备ID
  "StarterResourcesId": 0, //初始资源ID
  "VBloodUnitSettings": [], //V血液单位设置
  "UnlockedAchievements": [], //未锁定的成就
  "UnlockedResearchs": [], //未解锁的研究
  "GameTimeModifiers": { //游戏时间百分比
    "DayDurationInSeconds": 1080.0, //日持续时间(秒)
    "DayStartHour": 9, //白天开始时间
    "DayStartMinute": 0, //日开始分钟数
    "DayEndHour": 17, //白天结束时间
    "DayEndMinute": 0, 白天结束分数
    "BloodMoonFrequency_Min": 10, //血月频率最小值
    "BloodMoonFrequency_Max": 18, //血月频率最大值
    "BloodMoonBuff": 0.2 //血月buff
  },
  "VampireStatModifiers": { //吸血鬼属性百分比
    "MaxHealthModifier": 1.0, //最大生命百分比
    "MaxEnergyModifier": 1.0, //最大能量百分比
    "PhysicalPowerModifier": 1.0, //肉身力量百分比
    "SpellPowerModifier": 1.0, //法术力量百分比
    "ResourcePowerModifier": 1.0, //资源威力百分比
    "SiegePowerModifier": 1.0, //攻城威力百分比
    "DamageReceivedModifier": 1.0, //受到伤害百分比
    "ReviveCancelDelay": 5.0 //复活延迟
  },
  "UnitStatModifiers_Global": { //全局单位数据统计
    "MaxHealthModifier": 1.0, //最大生命百分比
    "PowerModifier": 1.0 //威力百分比
  },
  "UnitStatModifiers_VBlood": { //全局V血液数据统计
    "MaxHealthModifier": 1.0, //最大生命百分比
    "PowerModifier": 1.0 //威力百分比
  },
  "EquipmentStatModifiers_Global": { //全局装备数据统计
    "MaxEnergyModifier": 1.0, //最大能量百分比
    "MaxHealthModifier": 1.0, //最大生命百分比
    "ResourceYieldModifier": 1.0, //资源产量百分比
    "PhysicalPowerModifier": 1.0, //肉体力量百分比
    "SpellPowerModifier": 1.0, //法术威力百分比
    "SiegePowerModifier": 1.0, //攻城威力百分比
    "MovementSpeedModifier": 1.0 //移动速度百分比
  },
  "CastleStatModifiers_Global": { //城堡全局数据统计
    "TickPeriod": 5.0, //周期定时器
    "DamageResistance": 0.0, //伤害抗性
    "SafetyBoxLimit": 1, //安全箱子限制
    "TombLimit": 12, //墓碑限制
    "VerminNestLimit": 4, //害虫巢穴限制
    "PylonPenalties": { //塔门惩罚
      "Range1": { //范围
        "Percentage": 0.0, //比例
        "Lower": 0, //低
        "Higher": 2 //高
      },
      "Range2": {
        "Percentage": 0.0,
        "Lower": 3,
        "Higher": 3
      },
      "Range3": {
        "Percentage": 0.0,
        "Lower": 4,
        "Higher": 4
      },
      "Range4": {
        "Percentage": 0.0,
        "Lower": 5,
        "Higher": 5
      },
      "Range5": {
        "Percentage": 0.0,
        "Lower": 6,
        "Higher": 254
      }
    },
    "FloorPenalties": { //建筑内惩罚
      "Range1": { //范围
        "Percentage": 0.0, //比例
        "Lower": 0, //低
        "Higher": 20 //高
      },
      "Range2": {
        "Percentage": 0.0,
        "Lower": 21,
        "Higher": 50
      },
      "Range3": {
        "Percentage": 0.0,
        "Lower": 51,
        "Higher": 80
      },
      "Range4": {
        "Percentage": 0.0,
        "Lower": 81,
        "Higher": 160
      },
      "Range5": {
        "Percentage": 0.0,
        "Lower": 161,
        "Higher": 254
      }
    },
    "HeartLimits": { 生命限制
      "Level1": { //等级
        "Level": 1, //等级1
        "FloorLimit": 30, //建筑限制
        "ServantLimit": 3 //仆人限制
      },
      "Level2": {
        "Level": 2,
        "FloorLimit": 80,
        "ServantLimit": 5
      },
      "Level3": {
        "Level": 3,
        "FloorLimit": 150,
        "ServantLimit": 7
      },
      "Level4": {
        "Level": 4,
        "FloorLimit": 250,
        "ServantLimit": 9
      }
    },
    "CastleLimit": 2 //城堡限制
  },
  "PlayerInteractionSettings": { //玩家互动设置
    "TimeZone": "Local", //本地时区
    "VSPlayerWeekdayTime": { //玩家每周工作时间
      "StartHour": 17, //开始时间
      "StartMinute": 0, //开始分钟
      "EndHour": 23, //结束时间
      "EndMinute": 0 //结束分钟
    },
    "VSPlayerWeekendTime": {//玩家周结束时间
      "StartHour": 17, //开始时间
      "StartMinute": 0, //开始分钟
      "EndHour": 23, //结束时间
      "EndMinute": 0 //结束分钟
    },
    "VSCastleWeekdayTime": { //城堡每周工作时间
      "StartHour": 17, //开始时间
      "StartMinute": 0, //开始分钟
      "EndHour": 23, //结束时间
      "EndMinute": 0 //结束分钟
    },
    "VSCastleWeekendTime": { //城堡每周工作时间
      "StartHour": 17, //开始时间
      "StartMinute": 0, //开始分钟
      "EndHour": 23, //结束时间
      "EndMinute": 0 //结束分钟
    }
  }
}
本文参考链接
注意:修改完配置后再进入游戏建档,否则生成的服务器缓存(可以删除缓存),会导致始终是默认配置.
缓存位置  把v1下面的文件夹删掉即可
C:\Users\Administrator\AppData\LocalLow\Stunlock Studios\VRisingServer\Saves\v1
一些个人私货
个人的serverhost 配置
{
  "Name": "xiaoxiaobuding",
  "Description": "",
  "Port": 9876,
  "QueryPort": 9877,
  "MaxConnectedUsers": 10,
  "MaxConnectedAdmins": 4,
  "ServerFps": 30,
  "SaveName": "world1",
  "Password": "******", // 设置服务器连接密码
  "Secure": true,
  "ListOnMasterServer": false,  //服务器不被搜到
  "AutoSaveCount": 50,
  "AutoSaveInterval": 600,
  "GameSettingsPreset": "",
  "AdminOnlyDebugEvents": true,
  "DisableDebugEvents": false,
  "GameSettingsPreset": "",
}
个人游戏设置
{
  "GameModeType": "PvE",
  "CastleDamageMode": 0,
  "CastleHeartDamageMode": 0,
  "DeathContainerPermission": 1,
  "RelicSpawnType": 1,
  "CanLootEnemyContainers": false,
  "BloodBoundEquipment": false,
  "TeleportBoundItems": false,
  "InventoryStacksModifier": 5.0,
  "DropTableModifier_General": 2.0,
  "DropTableModifier_Missions": 2.0,
  "MaterialYieldModifier_Global": 2.0,
  "BloodEssenceYieldModifier": 2.0,
  "DurabilityDrainModifier": 0.5,
  "GarlicAreaStrengthModifier": 0.5,
  "SilverStrengthModifier": 0.5,
  "CastleDecayRateModifier": 0.0,
  "AnnounceSiegeWeaponSpawn": false,
  "CraftRateModifier": 3.0,
  "RefinementRateModifier": 3.0,
  "DismantleResourceModifier": 0.5,
  "ServantConvertRateModifier": 20.0,
  "Death_DurabilityFactorLoss": 0.0,
  "Death_DurabilityLossFactorAsResources": 0.0,
  "VBloodUnitSettings": [],
  "UnlockedAchievements": [],
  "UnlockedResearchs": [],
  "GameTimeModifiers": {
    "DayStartHour": 12,
    "DayEndHour": 15
  },
  "VampireStatModifiers": {},
  "UnitStatModifiers_Global": {},
  "UnitStatModifiers_VBlood": {},
  "EquipmentStatModifiers_Global": {},
  "CastleStatModifiers_Global": {
    "SafetyBoxLimit": 20,
    "TombLimit": 20,
    "VerminNestLimit": 20,
    "PylonPenalties": {
      "Range1": {},
      "Range2": {},
      "Range3": {},
      "Range4": {},
      "Range5": {}
    },
    "FloorPenalties": {
      "Range1": {},
      "Range2": {},
      "Range3": {},
      "Range4": {},
      "Range5": {}
    },
    "HeartLimits": {
      "Level1": {},
      "Level2": {},
      "Level3": {},
      "Level4": {
        "ServantLimit": 20
      }
    },
    "CastleLimit": 5
  },
  "PlayerInteractionSettings": {
    "VSPlayerWeekdayTime": {},
    "VSPlayerWeekendTime": {},
    "VSCastleWeekdayTime": {},
    "VSCastleWeekendTime": {}
  }
}

问题汇总

1、Curl error 28: Failed to connect to vrising-client.s3.eu-central-1.amazonaws.com port 443 after 21014 ms: Timed out
tips:对server服务没有太大影响,服务器UDP开了相应的端口就行.
错误发生原因: 服务器在启动服务的时候,要去亚马逊的S3 bucket下载资源,但是这个时候请求连接超时了.

这个资源官方放在亚马逊欧洲的S3服务器上,官方可能没有开S3的边际服务代理来着,导致了这个问题.

目前我觉得解决办法,一个是开网络迁移之术,另一个就只能等官方把资源放一个到亚洲的 S3里.

卖了这么多份游戏,给亚马逊付点钱把,不丢人!

给官方发了邮件,看看后续会怎么样.

github 老哥提供的解决办法,不想动的可以不动,毕竟不影响游戏,等官方修复就行

第一步关掉游戏服务,在云服务器上登录这个网站

上面会显示你的服务器IP,在下面的搜索框输入vrising-client.s3.eu-central-1.Amazonaws.com,然后点击搜索按钮.

第二步,复制IP,每台服务器可能搜到的结果ip都不同

第三步,把IP 加到 云服务器的C:\Windows\System32\drivers\etc\hosts文件中,然后保存.


点击重启游戏服务,应该就看不到这个错误了.

Q&A

1、想把自己本地的配置放到服务器上
将自己本地的配置拷贝,可在第一次运行之后,关掉服务器进程,再进行替换,若有建档,需删缓存
2、想把自己本地的存档放到服务器上
将自己 C:\Users\Administrator\AppData\LocalLow\Stunlock Studios\VRisingServer\Saves\v1 下文件,
覆盖服务器的即可,需要看下world名字是否配置中的名字一致. 
ps : 需要注意不要吃现 \Saves\v1world1\world1 这种情况,会报错.
3、连接服务器
进入游戏选择直连,输入ip,有密码设置的输入密码

4、设置PVE规则
在 serverhost json 中  "GameSettingsPreset": "", 这项需要为空.
当然你也可以在这里设置StandardPvE,但设置标准模式,无法配置个人设置,切记.

游戏设置 json中 "GameModeType": "PvE",
5、设置部落人数
在ServerGameSettings里加上:"ClanSize": 10  ,意思是部落最大人数是10.

有关V Rising 服务器搭建的更多相关文章

  1. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  2. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  3. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  4. ruby-on-rails - s3_direct_upload 在生产服务器中不工作 - 2

    在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo

  5. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  6. ruby-on-rails - 在 Rails 中调试生产服务器 - 2

    您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

  7. ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么? - 2

    require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

  8. ruby - Rails 开发服务器、PDFKit 和多线程 - 2

    我有一个使用PDFKit呈现网页的pdf版本的Rails应用程序。我使用Thin作为开发服务器。问题是当我处于开发模式时。当我使用“bundleexecrailss”启动我的服务器并尝试呈现任何PDF时,整个过程会陷入僵局,因为当您呈现PDF时,会向服务器请求一些额外的资源,如图像和css,看起来只有一个线程.如何配置Rails开发服务器以运行多个工作线程?非常感谢。 最佳答案 我找到的最简单的解决方案是unicorn.geminstallunicorn创建一个unicorn.conf:worker_processes3然后使用它:

  9. ruby - Dropbox 类似 git 的服务——没有 rsync 和 inotify - 2

    关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec

  10. ruby TFTP 服务器 - 2

    我将以下代码放在一起用于一个简单的RubyTFTP服务器。它工作正常,因为它监听端口69并且我的TFTP客户端连接到它,我能够将数据包写入test.txt,但我不只是写入数据包,我希望能够从我的客户端通过TFTP传输文件到/temp目录。预先感谢您的帮助!require'socket.so'classTFTPServerdefinitialize(port)@port=portenddefstart@socket=UDPSocket.new@socket.bind('',@port)whiletruepacket=@socket.recvfrom(1024)putspacketFile

随机推荐