很多自动化程序至今仍只能在 Windows 上运行:交易终端、没有 Linux 版本的桌面工具、宏软件,还有你们社区多年前用 C# 写的那个机器人。很多服务也仍然按 IP 决定信任谁:绑定到某个地址的交易所 API 密钥、带白名单的合作方接口、回调固定主机的 webhook。
当两者同时成立时,你需要一台拥有独立公网 IPv4 的 Windows 服务器。这就是这种配置。
你会得到什么
一台 Windows Server 2022 VPS,带独立 IPv4。RDP 在你自己地址的标准 3389 端口上监听;你在 Windows 防火墙中开放的每个端口都可以从互联网访问。
有两个套餐合适:
| 套餐 | vCPU / 内存 / 磁盘 | 价格 |
|---|---|---|
| Windows Small-IP | 4 / 4 GB / 50 GB | $28/月 |
| Windows Medium-IP | 6 / 6 GB / 60 GB | $36/月 |
一两个机器人选 Small-IP 就对了。Windows 空闲时约占 2 GB 内存,所以 4 GB 中留给你软件的大约是 2 GB——跑一个终端或 .NET 机器人足够,跑开很多标签页的 Chromium 自动化就有点紧。这时候 Medium-IP 多出的 $8 就物有所值。
如果没有任何外部系统需要访问你的服务器,也没人要把它的地址加入白名单,Windows NAT 套餐更便宜(每月 $11 起),并通过个人端口提供 RDP。不要为用不上的 IP 付费。
许可证
镜像是自带许可证的 Windows Server 2022:首次登录后用你自己的密钥激活,重装后需再次激活。关于操作系统本身的一切——版本、激活、更新——都在 Windows Server 页面上。本页讲的是如何让机器人持续运行。
让机器人保持在线
Windows 上大多数“机器人半夜停了”的故事,都可以归结为三件事。
注销而不是断开连接。 关闭 RDP 窗口会断开会话,程序继续运行。选择 Sign out(注销)则会结束它们。养成直接关窗口的习惯。
没有开机启动。 Windows 会重启——为了更新、重装之后、维护之后。让机器人随机器一起启动。对于控制台程序,一个触发器为 At startup、并设置为 Run whether user is logged on or not 的计划任务就够了:
$a = New-ScheduledTaskAction -Execute "C:\bots\mybot.exe" -WorkingDirectory "C:\bots"
$t = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "mybot" -Action $a -Trigger $t -User "SYSTEM" -RunLevel Highest
需要桌面的图形界面程序更麻烦:它们需要一个已登录用户的会话。对于这类程序,为一个专用用户开启自动登录,并从该用户的“启动”文件夹启动程序。
在错误的时间更新。 在 Windows 更新中设置 Active hours(使用时段),覆盖机器人最繁忙的时间段,这样重启就不会落在中间。
IP 方面
你的 IPv4 在服务器整个生命周期内保持不变,重装后也一样——这正是白名单需要的。把它填进交易所 API 密钥的设置里就完成了。如果合作方需要匹配的反向 DNS 名称,可以在控制面板中自行设置。需要给另一个机器人或服务配第二个地址?可以以每月 $5 加到同一台服务器上——见更换 IP 地址。
有两个限制需要提前考虑。Windows 套餐的端口为 150 Mbit/s,不限流量——对 API 机器人来说绰绰有余,见流量与网络速度。另外,所有套餐默认关闭出站邮件端口 25 和 465,所以发邮件的机器人应通过邮件服务商的 587 端口发送。
付款与开始
用邮箱注册,用 USDC、USDT、BTC 或其他加密货币付款,或在结账时用银行卡购买加密货币。服务器通常在付款后几分钟内就绪,Administrator 密码会在控制面板中显示一次。如果你弄丢了密码,或者用防火墙规则把自己锁在外面,重置密码和使用网页控制台可以让你不提交工单就重新进入。通过 RDP 连接介绍了首次登录;如果你的机器人做交易,用于加密货币交易的 Windows VPS 会更深入地讨论终端和延迟。
评论
暂无评论。来做第一个吧。