壹鲦热带鱼 发布的文章

【FMCRAFT 繁忙的工艺】服务器管理员协议

第一章 总则

第1条 基本条例

【FMCRAFT 繁忙的工艺】服务器管理员协议 - TropicalFish - 信息技术分享平台 建立在 【繁忙的工艺 FMCRAFT】服务器许可条款 - TropicalFish - 信息技术分享平台 之上。

第2条 协议目的

为保障《FMCRAFT 繁忙的工艺》(下称“本服务器”)的长期稳定、公平与健康发展,明确管理员(OP)的职责、权利与行为规范,特制定本协议。所有管理员在行使权限时,必须严格遵守。

第3条 管理员核心准则

管理员是服务器规则的守护者与服务者,而非特权玩家。其一切行为应以维护服务器整体利益和公平游戏环境为最高准则。

第二章 管理员权限与职责

第1条 正当权限范围

管理员权限仅可用于以下服务器治理场景:

  1. 维护秩序: 处理玩家举报,查证并处罚使用外挂、恶意利用BUG、人身攻击、破坏公共建筑等违规行为。
  2. 保障运行: 进行必要的服务器维护、重启、备份、更新插件及地图。
  3. 活动支持: 在服主预先书面(如工单、群公告)批准的具体活动方案内,按方案规定执行道具发放、场景搭建等操作。
  4. 故障恢复: 在玩家因服务器BUG(非个人操作失误)导致财产损失时,经服主或核心管理组共同查证后台日志后,按最小恢复原则进行补偿。
  5. 基础服务: 应答玩家常规咨询,引导玩家查看服务器规则与公告。

第2条 核心禁止行为(红线条款)

总则

在以下 a、b 提及的行为中,需要管理员报备并许可才被允许操作。

a) 辅助行为

严禁管理员进行任何形式的玩家辅助与资源倾斜,包括但不限于:

  1. 禁止直接给予: 不得以任何理由(如“朋友”、“新手”、“帮忙”、“补偿个人失误”等)使用/give、/item等指令向任何特定玩家直接提供物品、资源、货币、礼包。
  2. 禁止间接输送: 不得通过丢出物品、放置容器供特定玩家获取、修改商店价格、修改领地权限等方式,为特定玩家谋取不当利益。
  3. 禁止属性修改: 不得为特定玩家修改游戏模式(如更改为创造模式)、添加飞行权限、修改血量、经验等级、op 权限等属性。
  4. 禁止特殊庇护: 不得利用权限为特定玩家的建筑、领地提供超出公共规则的保护,或豁免其违规行为。
  5. 禁止信息特权: 不得向任何玩家透露未公开的游戏机制、地牢坐标、活动细节等机密信息。

b) 生态行为

严禁管理员进行任何形式的影响服务器生态平衡的行为,包括但不限于:

  1. /kill @e 指令。
  2. 大量 fill 行为。
  3. /time set day 指令,这会影响服务器游玩天数。

c) 虚拟行为

严禁管理员进行任何形式的恐吓及虚假信息,包括但不限于:

  1. \"我给你 op 权限\"。
  2. \"我给你一堆下界合金块\"。

第三章 执行与监督

第1条 操作透明与记录

  1. 管理员在执行任何涉及玩家物品、领地、状态的操作时,如无紧急情况,应在执行前简要报备并征得许可。

第2条 监督与举报机制

  1. 所有管理员行为接受服主、其他管理员及全体玩家的监督。
  2. 任何玩家如发现管理员有违反本协议第四条之行为,均可通过指定渠道(如举报邮箱、私聊服主)进行举证举报。所有举报将被严格保密并彻底调查。

第四章 违规处理

第1条 处罚措施

一旦查实管理员违反本协议,特别是触犯第四条红线条款,将根据情节严重程度,接受以下一项或多项处罚:

  1. 警告: 首次且情节轻微的,予以内部警告并记录。
  2. 暂停权限: 暂时收回所有管理员权限,进行观察。
  3. 永久撤职: 永久移除管理员权限,并公示撤职原因。
  4. 游戏内处罚: 涉及严重破坏平衡的,涉事管理员及其关联玩家的异常所得将被追回,角色可能被重置。
  5. 服务器封禁: 情节极其严重或屡教不改者,其游戏账号将被永久封禁。

第五章 附则

第1条 协议生效

  1. 本协议自发布之日起生效。
  2. 所有现任及新任管理员,必须在完全阅读、理解并同意本协议所有条款后,方可获得或保留管理权限。新任管理员就任视为已签署本协议。

第2条 协议修改

服主保留根据服务器发展需要对本协议进行修改和完善的权利。修改后的协议将公布于 https://www.tropical-fish.cn/ 或群公告,并对所有管理员具有约束力。


FMCRAFT 繁忙的工艺 管理员协议

一、协议声明

本人已完整阅读、充分理解并完全同意《FMCRAFT 繁忙的工艺服务器管理员协议》全部条款,自愿担任服务器管理员,严格遵守权限规范、履行管理职责,接受服务器全员监督。

二、条款获取

本协议完整条款详见官方页面:
https://www.tropical-fish.cn/index.php/archives/272.html
该页面内容为本协议不可分割的组成部分,与本签署页具有同等效力。

三、管理员承诺

  1. 仅在授权范围内使用管理权限,不越权、不滥用。
  2. 坚守公平公正,不徇私、不偏袒、不搞特殊待遇。
  3. 主动接受监督,违规自愿接受对应处罚。
  4. 维护服务器秩序与生态,保护全体玩家合法权益。

四、签署信息

我已阅读并接受协议:□
管理员游戏ID:$\underline{\hspace{3cm}}$
签署日期:$\underline{\hspace{1cm}}$年$\underline{\hspace{1cm}}$月$\underline{\hspace{1cm}}$日

传送门

题目
更好的阅读体验

题目大意

读入一个字符串, 匹配括号字符串所表示的树,求根节点到所有叶节点的距离之和。

分析题目

  • 括号字符串中,每一个叶节点都是对应一个 ();
  • 字符串中的深度比实际深度大 $1$,需要减去 $1$ 再进行计算;
  • 扫描字符串,遇到 ( 深度 $+1$,否则深度 $-1$;
  • 当遇到 () 时,当前的深度 $-1$ 就是根节点到此处的距离;
  • 时间复杂度为 $O(n)$ 可以通过此题。

算法步骤

  1. 扫描字符串,记为 $s_i$;
  2. 对 $s_i$ 作判断,( 和 ) 需要分情况讨论;
  3. 如果遇到 (,深度 $+1$,并且,如果下一个字符是 ) 说明找到了叶节点,将 深度-1 记录到答案,需要注意下个字符是否为合法边界;
  4. 如果遇到 ),深度 $-1$;
  5. 输出答案。

代码

#include <bits/stdc++.h>  
#define int long long // 将所有的 int 替换成 long long,否则会爆 int  
using namespace std;  
string s;  
int ans,depth,i;  
signed main(){ // 因为 int 会被替换成 long long,但是返回值不允许 long long,所以使用 signed  
    cin>>s; // 对应步骤 1  
    for(i=0;i<s.length();i++) // 对应步骤 2  
        if(s[i]==\'(\'){ // 对应步骤 3 及下面两行  
            depth++;  
            if(i+1<s.length()&&s[i+1]==\')\') ans+=depth-1; // 注意 i+1<s.length(),如果当前字符 id +1 比 s 的长度长,那么属于越界操作,不计算  注意 i+1<s.length(),如果当前字符 id +1 比 s 的长度长,那么属于越界操作,不计算 注意 i+1<s.length(),如果当前字符 id +1 比 s 的长度长,那么属于越界操作,不计算 注意 i+1<s.length(),如果当前字符 id +1 比 s 的长度长,那么属于越界操作,不计算 
        }else depth--; // 对应步骤 4  
    cout<<ans; // 对应步骤 5  
}

关于 2025 年浙江省初中名校发展共同体七年级第一学期考试反思

头部

这还是我第一次在学校写反思。。。

成绩

科目得分总分比率
语文7812065%
数学10812090%
英语10612088.33%
科学12116075.62%
社会7210072%
社会 - 道法102050%
社会 - 历史244060%
社会 - 地理384095%
总分48562078.22%
排名384977.55%

反思

说实话,这次的语文成绩还挺是让我意外的,小学的时候 100 分也考了 78 分,现在初中 120 分仍是考了 78 分,也算是一种退步,具体的错题也不晓得在哪,目前只知道就光基础就扣了 12 分,我还寻思着我基础题是不会错,没想到错了一坨,本打算找 CY 聊聊的,但是没机会,看到 CY 那么忙,也不舍得找 ta 问,语文从始至终一直是我的薄弱项,小时候我妈就告诉我多看书,可我硬是一个字也没看,总觉得读书与语文成绩没什么关联,8 月时尝试让 Deepseek 说服我,但是似乎没有用......。真不知道如何学语文,按照 100 分来算,我应该是考了 65 分:(加油吧,好好学:(

再说数学,我小学的时候也是挺好的,也是 90+ 吧,也经常受到老师的表扬,小学 6 月的时候在某个河南女老师那边学数学,似乎是学了 2 个月,把初中数学都全完了,但是似乎忘了,将近毕业的时候,我的各科成绩严重下降,甚至试过回家反思,但是没有效果,很 bk ,到初中的时候,感觉也就那样,跟我毕业学的时候也差很多,按照 100 分,我™才考了 90 分:(

续说英语,我感觉我学英语的方式很猎奇,中译英就是不会,英译中感觉还好,但是我都翻译一个一个单词,然后脑子里就突然蹦出了这句话的意思似的,类似乱句重组,我认为这个方法是不妥当的,因为到后面,会不理解一些介词的意思,我估计初一还可以用这个方法,但是以后就不一定了,没准儿全部爆 0(?),我还是得想想怎么办吧,但是跟 CS 说不好,怕被骂:唉,及时改正吧,我相信我自己,你能行的,终有所成!Good luck!:(

然后是科学,我对 $m^3$ 老师还是很敬畏的,上课的时候居然可以不用 PPT ,但是我的科学成绩似乎也不怎么样,小学的时候,科学成绩也就六十来分,初中后,似乎退步了,还是必须得好好学学,得适应 $m^3$ 老师的上课方式,我自己也得认真学学,对得起 $m^3$ 老师对我的良苦用心,不辜负 $m^3$ 老师对我的期望,多复习知识点,虽然 $m^3$ 老师骂过我 nao zi kao sao lao zei,但这一定是为了我好,好好学!!!:(

最后就是社会了,刚接触社会,感觉也有些许陌生,特别是道法,我是想不通为什么要学道法,小学都不学道法,我估计我道法应该只有 10 分,知识点背得不熟练,过目就忘,好在通过语文的阅读理解方式,也是拿到了一定的分数,以后肯定多背知识点。说到历史,我其实是非常讨厌历史这门科目的,主要是理不清历史时间线,也不敢找老师问,有时候是真的不理解为什么,但是一去问,就是被老师问:“你上课是没听吧?”虽然这只是说说,讲还是会讲的,但是我是真的不愿意听这句话,算了,不依靠别人,靠自己,自己学会,自己理解,肯定比问别人好得多,好好学习,及时背诵,多复习知识点。社会的最后一项就是地理了,我个人觉得我地理考得也还好吧,跟数学差不多的,需要有一定的理解性思维,但是仍是要背诵,我猜我扣的 2 分是因为知识点不熟练,加油吧!!!

我相信我自己,学习肯定是有成绩的,不然其他人怎么可能这么如此热衷于学习呢?我记得六年级有一篇课文,似乎叫做《忆读书》吧,就写到了读书的意义(?好像是的),我会在将来,尽量克服自己的所有确定,不成为别人嘴中所说的“败类”,好好学习,多背诵,多读书,CS 说得好:“要学会利用零散时间”,在初中阶段,有很多零散时间,我们都要学会利用,在初中阶段做一些有意义的事情,多学习,少玩物丧志,全面发展,不偏科!:))))

#include <bits/stdc++.h>
using namespace std;
unsigned long long rp;
void exam(){
    //...
}
int main(){
    while(++rp) exam();
    return 0;
}

这个分数,上个屌的培优班,成就他人吧!

感受

我也不是打 noip 的货,也很菜

题解

梦熊 NOIP 2025 模拟赛 3 题解

T1 战争游戏

题目描述

游戏在一行 $n$ 个城市上进行,城市 $i$ 初始有士兵 $a_i$ 人。前 $m$ 个城市属于小L,其余属于小K,两人交替操作,小L先手。操作包含三种:

  1. 转移:选择己方地盘上相邻($|x-y|=1$)的两个城市 $x$、$y$,将 $x$ 的所有士兵转移到 $y$,$a_x$ 变为 0。
  2. 攻占:选择己方城市 $x$ 和对方相邻城市 $y$,小L操作需满足 $a_x > a_y$,小K操作需满足 $a_x \geq a_y$,攻占后 $y$ 归己方,士兵转移方式同转移操作。
  3. 不进行任何操作。
    当一方占据所有城市时获胜,需对 $m=1,2,...,n-1$ 分别输出获胜方。

关键思路

  1. 特殊性质B:若先手第一步无法攻占,双方会优先集中兵力,最终比较分界线两侧总兵力。
  2. 特殊性质C:若先手第一步可攻占对方城市且后手无法反制,比较攻占后两侧总兵力。
  3. 正解:先手攻占后需判断对手是否能反制,若能则选择转移兵力,否则执行攻占,核心是比较关键状态下的兵力总和。

T2 加减乘除

题目描述

给定一棵以 1 为根的树,每个节点 $u$ 有运算符号 $op_u$(加或减)和数值 $a_u$。$q$ 次询问,每次给定 $x$,从根节点出发,需满足边的范围条件 $[l_v, r_v]$(即经过节点 $u$ 运算后的 $x'$ 需在子节点 $v$ 的边范围内)才能走向子节点,求能到达的节点个数。

正解

  1. 区间预处理:每个节点 $u$ 对应可到达的 $x$ 区间 $[L_u, R_u]$,初始根节点区间为 $[-\infty, +\infty]$。
  2. 区间更新:向下遍历树时,运算操作会平移区间,边的范围条件会取区间交集,以此递推得到所有节点的 $[L_u, R_u]$。
  3. 高效查询:对所有区间端点离散化,用差分法给每个区间 $[L_u, R_u]$ 加 1,查询时二分找到 $x$ 对应的区间,即可得到答案。
  4. 时间复杂度:$O((n+q) \log n)$。

T3 空之碎物

题目描述

定义二进制不退位减法 $\ominus$,给定序列 $a$,对于区间 $[l, r]$,$f(l, r)$ 表示将该区间元素作为多重集,经若干次合并操作(选两个数合并为其不退位减法结果)后剩余的最大值。求 $\sum_{i=1}^{n} \sum_{j=i+1}^{n} f(i, j)$ 对 998244353 取模的值。

核心性质

  1. 性质1:最终操作结果可表示为 $x \ominus(y \ominus a_1 \ominus a_2 \ominus ... \ominus a_{n-2})$($a_1~a_{n-2}$ 为除 $x,y$ 外的元素)。某二进制位无1时无影响,恰好一个1时贡献由 $y$ 选择决定,至少两个1时贡献为0。
  2. 性质2:若区间长度超过 $\log_2 V + 2$($V$ 为元素最大值,此处 $V < 2^{25}$),则 $f(l, r)$ 等于区间最大值。

正解

  1. 处理长区间:直接累加所有长度超过 $\log_2 V + 2$ 的区间的最大值。
  2. 处理短区间:枚举每个二进制位,对该位有两个1的元素建立连边,通过枚举连边计算贡献,时间复杂度 $O(n \log_2^2 V)$。

T4 Ice Drop

题目描述

一个正整数序列是“好的”,当且仅当对任意正整数 $k$,序列中所有 $k$ 的倍数位置连续。给定序列 $a$,$f(b)$ 表示满足以下条件的“好的”序列 $b'$ 的数量:

  1. $|b'| = |b|$;
  2. 若 $b_i > 1$,则 $b_i' = b_i$;
  3. $LCM(b_1,...,b_m) = LCM(b_1',...,b_m')$($m$ 为 $b$ 的长度)。
    $q$ 次询问,每次给定 $l, r$,求 $\sum_{x=l}^{r} \sum_{y=x}^{r} f(a[x,y])$ 对 $10^9+7$ 取模的值。

关键思路

  1. 核心等价:序列是“好的”等价于每个质因子的指数序列是单峰的。
  2. 特殊性质A($q=1$):不能新增质因子,也不能超过原质因子最大指数,通过组合数计算合法填充方式,答案为各质因子贡献乘积。
  3. 特殊性质B:若只有一个质因子,合法区间是若干不交区间的子集,答案非0即1。
  4. 正解:用扫描线结合线段树,维护全局乘、单点修、查历史和,对每个不交区间单独处理,时间复杂度 $O(n \log n)$。

个人代码

T1

主要思路:骗分

#include <bits/stdc++.h>
using namespace std;
int T,n,i,m,ma,t,a[100010];
string ans;
int main(){
    cin>>T;
    while(T--){
        cin>>n;t=ma=0;ans="";
        for(i=1;i<=n;i++)
            cin>>a[i],ma+=a[i];
        for(m=1;m<n;m++){
            t+=a[m];
            if(2*t>ma) ans+='1';
            else ans+='0';
        }
        cout<<ans<<"\n";
    }
}

太好力,又水了一篇 blog
MX-S11

留下你对未来的看法吧!

服务状态

服务到期时请及时提醒续费

主服务

浙江宁波服务器 [可能会暂停服务]

业务:OJ

到期时间:2026 年 2 月 17 日

CDN [可能会暂停服务]

到期时间:2026 年 1 月 19 日

对象存储

到期时间:2028 年 5 月 25 日

域名

fmcraft.top

业务:部分次要服务

到期时间:2026 年 2 月 5 日

www.tropical-fish.cn [可能会暂停服务]

业务:主服务

到期时间:2026 年 6 月 30 日

SSL 证书

oj.www.tropical-fish.cn [可能会暂停服务]

到期时间:2026 年 1 月 17 日

www.tropical-fish.cn [可能会暂停服务]

到期时间:2026 年 11 月 11 日

次服务

阿里云盘 SVIP

业务:存储服务(下载站)

到期时间:2026 年 10 月 22 日

WPS SVIP

业务:暂定

到期时间:2026 年 7 月 8 日

从某人买的 2TB 磁盘 [可能会暂停服务]

业务:存储服务(影视)

到期时间:2030 年 6 月

短板时间则代表服务终止最早时间

请前往 Linux 不小心挂载错磁盘导致无法启动系统咋办 - TropicalFish - 信息技术分享平台 以获得更好的阅读体验

阐述标题

你给你的服务器加了一块硬盘,你编辑 /etc/fstab 设置自动挂载,但是手滑打错了一个字符

这边假设你不是通过指定 uuid 而是设置 dev 设备路径

image.png

一不小心重启系统就 如图 了,也进不来系统
What should we do

正文

这种情况其实非常 easy (?)

先登录到维护模式

在此处直接键入服务器密码即可

image.png

此时你应该成功登录到终端

修改 /etc/fstab

按照往常那样,使用 vim 修改文件
vim /etc/fstab

建议取消除系统外其他挂载,等到进系统在重新编辑

先按 i 进入编辑模式,再按 insert 进入插入模式

LABEL=cloudimg-rootfs   /        ext4   discard,errors=remount-ro       0 1
LABEL=UEFI      /boot/efi       vfat    umask=0077      0 1
/dev/sdc1 /home ext4 defaults 0 1
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
"/etc/fstab" 3L, 135B                                         3,33          All

例如,此代码片段中,第一二行就是系统的挂载,第三行就是用户手动进行的挂载,我们应当注释你手动删除的行,或者直接删除也可

然后 :wq! 保存退出

重启系统

[scode type="red"]这时你使用云服的重启系统可能没有什么效果,你需要手动重启[/scode]

在终端使用下面这个命令重启系统

sudo shutdown -h now

然后,在云服控制面板点击【关机】

再点击【开机】

应该就可进入系统了


感谢阅读

阐述标题

刚打开这个文章的你,可能会对这个 title 有点懵逼,简单介绍一下:

当你访问一个地址的时候,这个站点会随机从服务器向你返回一张图片

你应该懂了吧

正文

按照标题,我们需要先购买一台服务器

购买服务器

这里推荐使用雨云进行搭建
有备案选国内,没备案选国外
1 核心 1G 也能运行起来!即使配置不够,后续也可升级
自行选择心仪的服务器
操作系统推荐选择 ubuntu 22.04

安装宝塔面板

如果在本章节出现不知道如何操作的,可以前往[教你快速搭建一个文件快递柜[filecodebox使用教程] - TropicalFish - 信息技术分享平台](https://www.tropical-fish.cn/index.php/archives/129.html)查看

宝塔面板(bt.cn) 简单好用的Linux/Windows服务器运维管理面板

购买服务器后,使用 SSH 工具连接到服务器,键入 bt.cn 上最新的安装宝塔面板的命令

为了防止你是迷惑用户,直接贴上URL:宝塔面板下载,免费全能的服务器运维软件

if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec

第一次需要按 Y 以确认安装
等待出现面板链接信息即代表安装成功

首次进入宝塔面板

如果在本章节出现不知道如何操作的,可以前往[教你快速搭建一个文件快递柜[filecodebox使用教程] - TropicalFish - 信息技术分享平台](https://www.tropical-fish.cn/index.php/archives/129.html)查看

根据 ssh 窗口中提供的连接信息,在浏览器中访问,请注意 https 与 http 的区别

第一次访问需要同意许可条款

可以不选择绑定账号

需要安装 LNMP 环境,如果不小心手滑点掉了,也可以通过重新进入面板来安装

安装进度可见左上角面板 ip 旁边的小数字

如果你是重度深色用户,可通过以下方式将 bt 设置为深色模式
image.png

创建、编写网站

创建网站

点击宝塔左侧网站,PHP 项目,添加站点
域名就写 {server_ip}:{port},即服务器 ip + 自定义端口,当然如果你有域名也可以填写你的域名,但是需要在域名提供商创建一个 A 解析指向服务器 ip
根目录可以不管
确定即可
image.png

编写网站

点击你刚创建网站的 根目录 进入文件管理
image.png

然后创建一个文本文件
image.png

将其命名为 index.php

没有设计确定按钮,直接回车即可,不要再找确定按钮了

双击编辑他

键入以下代码

<?php
$img_array = glob("photos/*.{gif,jpg,png}",GLOB_BRACE); 
$img = array_rand($img_array); 
$dz = $img_array[$img];
header("Location:".$dz);
?>

如果你想知道代码的含义,可以看看:

<?php
// 使用 glob 函数搜索 photos 目录下的所有 gif、jpg、png 格式的图片文件
// GLOB_BRACE 参数允许使用花括号来匹配多种文件扩展名
$img_array = glob("photos/*.{gif,jpg,png}", GLOB_BRACE); 

// 从图片数组中随机选择一个图片的索引键
// array_rand 函数返回随机数组元素的键名
$img = array_rand($img_array); 

// 通过随机选择的键名获取对应的图片文件路径
// $img_array[$img] 就是随机选中的图片文件完整路径
$dz = $img_array[$img];

// 发送 HTTP 重定向头部,将用户浏览器跳转到随机选中的图片地址
// 这样用户就会直接看到随机选择的图片
header("Location:".$dz);
?>

然后 Ctrl+S 保存

上传图片文件

新建一个文件夹,命名为 photo,进入此文件夹,将你想要的图片上传,扩展名一定要是 gif jpg png 三者其中之一

你想的没错,直接把本地文件直接拖到文件管理器即可

如果文件数量过多,可本地压缩成 zip 文件后,上传到文件管理器,再解压即可

测试

打开浏览器,键入你之前输入的域名或 ip+port ,你会发现他成功加载了图片

如果你是迷惑用户,你可能会怀疑为什么我刷新,还是那张图片,我建议你看看你访问的 url 是什么
如果你是迷惑用户,你可能会想着该怎么办,再次强调,随机图片 API,你是通过 api 访问的,加载一次客户站点,只会加载一次图片 api 站点,不会加载很多次
如果你是迷惑用户,你可能会想如果我在一个页面中引用多次 iframe 怎么办,再次强调,你是通过 api 访问的,访问一次,获取一次
如果你是迷惑用户,建议询问 Deepseek

恭喜你,打败了全国 99% 的选手

引流

【科技补全76】火绒曝光超级流氓软件鲁大师、小鸟壁纸;英特尔前员工盗窃上万份机密文件;谷歌被FFmpeg开发者怒喷;安卓将不再禁止高级用户随意装软件;\_哔哩哔哩\_bilibili
这不是广告

新概念英语点读工具

Github 开源

luzhenhua/NCE-Flow: 新概念英语在线点读,点句即读、连续播放,支持 EN / EN+CN / CN。

介绍

新概念英语在线点读,点句即读、连续播放

优势何在?

  • ​句子级点读​:点击任意句子开始播放,自动高亮跟随
  • ​多语言视图​:EN / EN+CN / CN 三种显示模式
  • ​播放控制​:倍速调节、连读/点读切换、循环模式、断点续播
  • ​全局快捷键​:空格播放/暂停、方向键导航、音量控制
  • ​学习管理​:课程收藏、学习记录、进度追踪
  • ​现代界面​:Apple 风格、深浅色主题、响应式设计
  • ​零依赖​:纯静态文件,解压即用

部署方法

我们如何部署如此有用的项目呢?我们可以使用同样有用的雨云和宝塔面板,并且在宝塔里安装 Docker

先购买一台服务器,1 核心 1G 也能跑起来这个项目,然后安装宝塔面板

方法1:Docker 部署

适合不用二开的

docker run -d -p {PORT}:80 --name nce-flow --restart unless-stopped luzhenhua/nce-flow:latest

{PORT} 处填外网访问端口

在你的 ssh 终端中键入命令,然后放行防火墙,通过浏览器访问 http://<server_ip>:<port> 即可

如何放行防火墙?
image.png

方法2:Docker-Compose 部署

适合有一定技术基础的,有自定义配置需求的

git clone https://github.com/luzhenhua/NCE-Flow.git # 使用 git 拉取项目
cd NCE-Flow # 进入项目目录
docker-compose up -d # 根据 docker-compose.yml 启动文件,如果不能使用这条命令请使用 docker compose up -d

在 ssh 终端运行即可,依旧需要放行防火墙,端口默认 8000

方法3:Python 部署

你需要先使用 apt update && apt install python3 && apt install pip 安装环境

将项目的 Release 中的 .tar.gz 下载至服务器

可以在自己的电脑中,找到 Release 中的 .tar.gz ,右键,复制链接,然后在服务器中,使用下述命令拉取
{URL} 就是复制的 URL

wget {URL}

警告:文件约为 583MB

使用下述命令解压

tar -zxvf filename.tar.gz

使用 cd 命令进入目录
使用 python3 -m http.server 8000 运行项目
依旧需要放行防火墙

更多方法请在 Github 探索

如何使用

浏览器访问 http://server_ip:port

选择你想要的一册,然后选择一课,点击播放按钮即可

在线文件管理器

Github 开源

9001/copyparty: Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps
温馨提示,如果你要访问这个页面,你需要一台性能强劲的电脑

介绍

将几乎任何设备变成文件服务器,使用任何网络浏览器可以恢复上传/下载

  • 服务器只需要 Python(2 或 3),所有依赖项可选

部署方法

在你的电脑打开这个项目的 Release,右键最新的蓝色 copyparty-sfx.py

然后再 ssh 终端,使用 wget {URL} 下载这个 .py 文件

嗯嗯,非常 nice ,最后一步... 原神,启动!使用 python3 copyparty-sfx.py 运行这个 .py 文件

然后放行 3923 端口

浏览器访问 http://<server_ip>:3923 即可

如何使用

已经写的非常明显了
点击就是访问
虽然你可能看不懂英文
多用用就会了

前言

提到在线评测系统(Online Judge),很多人会想到用C++、Java 或 Python 等语言开发。但你可能不知道,​PHP 同样能够构建功能强大的在线评测系统​!今天我们就来聊聊基于 PHP 的 HUSTOJ ——一个成熟稳定的开源在线评测系统

HUSTOJ

hustoj 由 华中科技大学(实际上只有 zhblue 一个人和喜欢 pr 的网友) 开发,前后端完全使用 php 开发,判题机是 docker ,不用担心安全问题,这点为 oi 教学系统提供了很好的解决方案

主要优势:

  • 开源免费
  • 允许商用(只需要开放源代码)
  • 海量题库(约 $x(x \geq 5 \times 10^3)$ 道题目可以下载)
  • 支持多种语言提交
  • 社区活跃
  • 易于二开(直接修改文件即可,不需要重新 build)

HUSTOJ 相关资料

QQ 群:23361372
wiki:代码的那些事 | 程序员回忆录
github:zhblue/hustoj: Popular Simple Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 简单实用的开源OJ系统
题库:TK题库

正文

我们如何部署如此强势的 online judge 呢?
我们可以使用同样强势的的 雨云 和 宝塔面板
温馨提示:1-1 也可以部署 hustoj
购买完服务器后,需要安装宝塔面板
操作系统选择 ubuntu 22.04

开始部署

创建数据库

登录上你的 宝塔面板,左侧数据库,创建数据库,数据库名称 jol ,进行创建
image.png

运行安装脚本

先登录上你的 宝塔面板 ,进入左侧终端,执行两条命令

wget http://dl.hustoj.com/install-ubuntu22.04-bt.sh # 拉取安装脚本
bash install-ubuntu22.04-bt.sh # 运行安装脚本

这时,他会要求你输入数据库用户名和密码,请依次键入你创建数据库的时候的用户名和密码
image.png

随后便开始安装了...

期间可能会多次需要你按下 enter 键

请不要使用 Windows + V 剪切板功能
请保持 bt 窗口活跃
安装速度结合网络宽带而定

需要按 enter 大杂烩:
image.png

创建站点并配置

宝塔左边网站,php,创建网站,域名http://<server_ip>:<port>,根目录/home/judge/src/web
image.png

然后设置这个,左边网站目录,关闭放跨站攻击
image.png

然后,左边软件商店,搜索 php ,设置安装的 php,左边禁用函数,取消 putenv 函数的禁用
image.png

然后,使用浏览器访问你的 oj ,恭喜你,访问成功!
image.png

简单使用 HUSTOJ

注册管理员账户

右上角注册,用户名一定要写admin,其他随意,注册即可

添加一道题目

后台管理 URL 是 http://<server_ip>:<port>/admin/

左侧【问题-管理】【问题-添加】

<span class='md'>
</span>

这是 markdown 的标记,题面需要在里面写,支持 latex、katex

添加即可

维护

系统配置

/home/judge/src/web/include/db_info.inc.php 有注释

其他你可能需要知道的东西

/home/judge/src/web 是站点文件
image.png


感谢阅读

前文

关于 mcsmanager

省流:一整套现代化的智能管理系统

mcsmanager 是一款开源、分布式、轻量级的游戏服务器管理面板,由国人使用 node.js 开发。它最初 为 我的世界(Minecraft)服务器而生,因此得名,但现在它的能力已经扩展到了多种 ​Steam 服务器(如泰拉瑞亚)以及其它多种游戏服务端

它的核心是一个 Web 控制台,你只需要在服务器上安装好面板服务,就可以通过任何浏览器(比如你的手机、家里的电脑,甚至是手表或电视)来远程管理和控制你的游戏服务器

还有,你甚至可以把他当做守护进程(?)

主要优势

  1. 不需要命令行访问,他只是一个 Web 面板!
  2. 支持在线文件管理,不需要 ftp 、 sftp 这种一点就炸的东西
  3. 多实例管理
  4. 实时控制台
  5. 厉害的用户权限系统
  6. 计划任务与备份
  7. 资源监控
  8. 多节点管理
  9. 开源、免费、轻量、安全

其实,一开始 mcsmanager 只是一个管理 Minecraft 服务器的管理面板,后来功能逐渐强大,甚至支持管理 泰拉瑞亚 等 Steam 游戏

Github开源:MCSManager/MCSManager: Quick deployment, distributed, multi-user, modern management panel for Minecraft and Steam game servers / 一键安装,分布式架构,多用户销售,现代化的 Minecraft 和 Steam 游戏服务器管理面板

Wiki:MCSManager | Free, Secure, Distributed, Modern Control Panel for Minecraft and Steam Game Servers. 不要以为这是英文 wiki 了,你可以切换为简体中文

正文

我们如何部署这么强势的服务器管理面板捏,我们可以使用同样强势的雨云,部署成功率为 200%
你在购买好后,需要安装宝塔面板,并自行配置 lnmp 和 docker 环境
切记安装 docker 的方式:

方法1:命令部署

适用于:海外用户
可见 wiki 【快速开始】【Linux 自动安装】

sudo su -c "wget -qO- https://script.mcsmanager.com/setup_cn.sh | bash"

直接打开服务器 ssh ,直接运行即可

方法2:Docker 部署

适用于:国内用户

首先,你肯定已经安装好了 Docker
打开 bt ,左边 docker ,应用商店搜索 Mcsmanager ,两个 Web 和 Deamon 都需要安装
image.png
image.png

温馨提示,你可以点击【已安装】对应的实例的安装进度
bt_successful 就是安装成功> 我知道你看不懂,但是你可以前往 DeepSeek - 探索未至之境 | 豆包 - 字节跳动旗下 AI 智能助手

image.png
上图为【日志】按钮的位置


我相信你已经成功部署了,那么...

访问你的 mcsmanager

打开浏览器,访问 http://<server_ip>:23333

选择简体中文->开始->输入用户信息->老用户

你就会进入
image.png

选择方法 1 安装的用户可直接跳转到【创建 Minecraft 服务器】

选择上面的节点(如果你点不了,请把 url 改成 http://<server_ip>:23333/#/node)

如图
image.png

如何获取节点密钥?

进入宝塔,docker,已安装,选择 daemon 的文件管理
image.png

依次进入 /daemon/data/Config

你会看到一个文件,叫做global.json,双击编辑他

key 字段就是节点密钥

image.png

wow 在线了 太好力

创建 Minecraft 服务器

进入 应用实例
新建应用
自由选择安装

安装完毕...