同步操作将从 Jungle/online-judge 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
敬请期待
没错,我们支持Windows平台,也支持Linux平台(Linux下当前仅支持Virtual Judge)。
Online Judge平台系统(简称OJ)是一个B/S架构的源程序判题系统。用户可以在线提交多种程序(如C、C++、Java)源代码,系统对源代码进行编译和执行,并通过预先设计的测试用例来检验程序源代码的正误。
用户可以在Online Judge系统上练习编程,参加竞赛,与其他用户讨论交流,提高自己的编程水平,并可以用于数据结构、程序设计教学的实验和考试。
操作系统:Windows XP/7/8/8.1/10, Windows Server 2003/2008/2012
JAVA JDK:Java JDK1.6(推荐)
OJ系统对JDK安装位置没有要求,直接安装完成。以安装D:\Java\jdk1.6.0_10为例。
然后添加环境变量:
JAVA_HOME=D:\Java\jdk1.6.0_10
path=%JAVA_HOME%\bin
Web容器:Apache Tomcat 6(推荐);安装目录:D:\tomcat6
数据库:MySQL 5.1.55(推荐)
字符集选择GBK,端口选择默认的3306,设置用户名root,密码rootpwd
然后创建gdoj命名的数据库,并执行online-judge\judger_sql目录下的sql_import_struct.bat一键导入gdoj_struct.sql
编译环境:GCC、JAVA、PASCAL、Python、Ruby等编程语言编译环境
可下载online-judge/judger_compiler后,运行env.bat一键配置GCC、JAVA、PASCAL,但要注意修改JAVA_HOME的正确路径:
set JAVA_HOME=D:\Java\jdk1.6.0_10
setx JAVA_HOME "D:\Java\jdk1.6.0_10" /m
OJ_WEB=D\:\\tomcat6\\webapps\\ROOT\\
OJ_PATH=D\:\\OJ\\
OJ_DATA_PATH=D\:\\OJ\\data\\
OJ_JUDGE_LOG=D\:\\OJ\\OJ_JUDGE_LOG\\
OJ_LANG_PATH=D\:\\OJ\\conf\\Language.xml
OJ_JUDGER_IP=127.0.0.1 ------> 这个很重要,用于WEB与OJ-Kernel通信的IP
OJ_JUDGER_PORT=5000 ------> 这个很重要,用于WEB与OJ-Kernel通信的端口号,必须与OJ-Kernel的配置一致
<property name="username" value="root"></property>
<property name="password" value="rootpwd"></property>
创建目录D:\OJ,并拷贝judger-kernel/build/release到OJ目录下,如:
预配置OJ启动配置文件D:\OJ\conf\config.ini
[System]
sock_port=5000 -----> 系统本地Socket监听的端口号,需要保持与config.properties中的一致
启动后界面如下,并通过display current-configuration查看当前配置
=====================================================
OS Main-task Running...
Command Task init ok...
Command Task RegistAppInfo ok...
Debug-Center Task RegistAppInfo ok...
TELNET Task init ok...
TELNET Task RegistAppInfo ok...
Connect MySQL(localhost, root, rootpwd, gdoj, 3306) ok...
Judge Task init ok...
Judge Task RegistAppInfo ok...
NDP Task init ok...
NDP Task RegistAppInfo ok...
Command Task running ok...
Debug-Center Task running ok...
TELNET Task running ok...
Judge Task running ok...
NDP Task running ok...
OS Main-task init ok...
Socket bind port 5000 ok...
Socket listen ok...
Recover configuration begin.
Info: system name change to judger successful.
TELNET server socket bind port 23 ok...
TELNET server socket listen port 23 ok...
Info: Please reboot to take effect.
Eecover configuration end.
Press any key to continue.
judger>
judger>display current-configuration
#version V100R001C00B090
sysname judger
#
telnet server enable
#
aaa
local-user admin password Root@123
#
mysql url localhost port 3306 username root password rootpwd table gdoj
#
#
judge-mgr
mode oi
testcase-path D:\OJ\data\
#
virtual-judge-mgr
hdu-judge username weizengke password weizengke
hdu-judge ip 127.0.0.1 port 5000
#
return
#
judger>
用户通过命令行对系统下发各种命令来实现对系统的配置与日常维护操作。
#如输入dis us和完整输入display users都能执行命令获取当前登录系统的用户
Judge-Kernel]dis us
# Type Delay Network Address Socket Username
---------------------------------------------------------------------
+ 0 Console 00:00:00 127.0.0.1 - -
1 Telnet 00:25:42 127.0.0.1 588
Judge-Kernel]display users
# Type Delay Network Address Socket Username
---------------------------------------------------------------------
+ 0 Console 00:00:00 127.0.0.1 - -
1 Telnet 00:25:45 127.0.0.1 588
Judge-Kernel]
Judge-Kernel>display us
#该状态下按下TAB
Judge-Kernel>display users
Judge-Kernel>?
debugging Debugging switch
display Display
quit Quit from the current system view
return Return to the user view
system-view Enter the system view
terminal Terminal
undo Undo operation
Judge-Kernel>dis?
display Display
Judge-Kernel>dis
Judge-Kernel>display ?
command-tree Command tree
current-configuration Current Configuration
debugging Debugging switch
history Histrory command
judge Judge of OJ
ndp NDP
save-configuration Save-configuration
users Users
<cr>
Judge-Kernel>display us?
users Users
Judge-Kernel>display us
Judge-Kernel>display users ?
<cr>
Judge-Kernel>
Judge-kernel>
在用户视图下,用户可以完成查看运行状态和统计信息等功能。
Judge-Kernel>system-view
Judge-Kernel]
Judge-Kernel]?
aaa Authentication Authorization Accounting
diagnose-view Enter the daignose view
display Display
hdu-judge HDU-Judge
judge Judge of OJ
mysql Mysql
ndp NDP
quit Quit from the current system view
reboot Reboot Judge kernel
return Return to the user view
save Save configuration
sysname Set system name
telnet Telnet Protocol
undo Undo operation
virtual-judge Virtual judge
Judge-Kernel]
Judge-Kernel]diagnose-view
Judge-Kernel-diagnose]
Judge-Kernel-diagnose]?
display Display
quit Quit from the current system view
return Return to the user view
set Set value
version Show version of solfware
Judge-Kernel-diagnose]
#通过quit回退到上一层视图
Judge-Kernel-diagnose]quit
Judge-Kernel]
#直接通过return惠推倒用户视图
Judge-Kernel-diagnose]return
Judge-Kernel>
#使能judge功能
Judge-Kernel>system-view
Judge-Kernel]judge enable
#去使能judge功能
Judge-Kernel>system-view
Judge-Kernel]undo judge enable
#进入judge-mgr视图
judger>system-view
judger]judge-mgr
judger-judge-mgr]
#切换judger为acm模式
judger>system-view
judger]judge-mgr
judger-judge-mgr]
judger-judge-mgr]mode acm
#切换judger为oi模式
judger>system-view
judger]judge-mgr
judger-judge-mgr]
judger-judge-mgr]mode oi
#使能安全防护(API HOOK)
judger>system-view
judger]judge-mgr
judger-judge-mgr]
judger-judge-mgr]security enable
#去使能安全防护(API HOOK)
judger>system-view
judger]judge-mgr
judger-judge-mgr]
judger-judge-mgr]undo security enable
judger-judge-mgr]display this
#
judge-mgr
undo security enable
testcase-path D:\OJ\data\
#
return
#
judger-judge-mgr]
#使能自动检测
judger>system-view
judger]judge-mgr
judger-judge-mgr]
judger-judge-mgr]auto-detect enable
#配置judger的测试用例目录为D:\OJ\data\
judger>system-view
judger]judge-mgr
judger-judge-mgr]
judger-judge-mgr]testcase-path D:\OJ\data\
judger-judge-mgr]display this
#
judge-mgr
testcase-path D:\OJ\data\
#
return
#
judger-judge-mgr]
#配置judger使能忽略多余空格换行
judger>system-view
judger]judge-mgr
judger-judge-mgr]
judger-judge-mgr]ignore extra-space enable
judger-judge-mgr]display this
#
judge-mgr
ignore extra-space enable
#
return
#
judger-judge-mgr]
#使能虚拟判题功能
Judge-Kernel>system-view
Judge-Kernel]virtual-judge enable
#去使能虚拟判题功能
Judge-Kernel>system-view
Judge-Kernel]undo virtual-judge enable
#使能HDU虚拟判题功能
Judge-Kernel>system-view
Judge-Kernel]hdu-judge enable
#去使能HDU虚拟判题功能
Judge-Kernel>system-view
Judge-Kernel]undo hdu-judge enable
#进入virtual-judge-mgr视图
judger>system-view
judger]virtual-judge-mgr
judger-vjudge-mgr]
#配置HDU虚拟判题在HDU平台上的账号和密码为root/root@123
judger>system-view
judger]virtual-judge-mgr
judger-vjudge-mgr]hdu-judge username root password root@123
#使能HDU虚拟判题远端裁判功能
judger>system-view
judger]virtual-judge-mgr
judger-vjudge-mgr]hdu-judge remote-judge enable
#去使能HDU虚拟判题远端裁判功能
judger>system-view
judger]virtual-judge-mgr
judger-vjudge-mgr]undo hdu-judge remote-judge enable
#配置分布式远端hdu-judger的OJ服务器IP和端口号
judger>system-view
judger]virtual-judge-mgr
judger-vjudge-mgr]hdu-judge ip 192.168.1.2 port 5001
#使能Telnet服务器
Judge-Kernel>system-view
Judge-Kernel]telnet server enable
#去使能Telnet服务器
Judge-Kernel>system-view
Judge-Kernel]undo telnet server enable
#配置Telnet服务器的认证方式为不认证
Judge-Kernel>system-view
Judge-Kernel]telnet authentication-mode none
#配置Telnet服务器的认证方式为密码认证,并创建telnet账号和密码
Judge-Kernel>system-view
Judge-Kernel]telnet authentication-mode password
Info: Please create telnet username and password.
Judge-Kernel]
Judge-Kernel]telnet username admin password admin@123
#配置Telnet服务器的认证方式为AAA认证,并创建一个aaa用户并且服务类型为telnet
Judge-Kernel>system-view
Judge-Kernel]telnet authentication-mode aaa
Info: Please create AAA username and password.
Judge-Kernel]
Judge-Kernel]aaa
Judge-Kernel-aaa]local-user root password Root@123 service-type telnet
#使能ftp服务器
Judge-Kernel>system-view
Judge-Kernel]ftp server enable
#去使能ftp服务器
Judge-Kernel>system-view
Judge-Kernel]undo ftp server enable
#创建一个aaa用户并且服务类型为ftp
Judge-Kernel>system-view
Judge-Kernel]telnet authentication-mode aaa
Info: Please create AAA username and password.
Judge-Kernel]
Judge-Kernel]aaa
Judge-Kernel-aaa]local-user ftp password Root@123 service-type ftp
#查看当前judger的基础配置
Judge-Kernel>display judge brief
# Local Judger Info
Global Judge Is Enable
Sysname : Judge-Kernel
Sock Port : 5000
Judge Mode: ACM
Data Path : D:\OJ\data\
Last Judge: 1970-01-01 08:00:00
==========================================================================
# Virtual Judger Info
Global Virtual Judge Is Enable
HDU domain: http://acm.hdu.edu.cn
Judger | Account | Password | Status | Remote | Judger-IP | J-Port
-------------------------------------------------------------------------
HDU weizengke weizengke Enable Disable 192.168.1.2 5001
==========================================================================
# MySQL Info
URL : localhost
Username : root
Password : rootpwd
Table-Name: gdoj
Port : 3306
==========================================================================
Judge-Kernel>
#更改系统名称为judger
Judge-Kernel>system-view
Judge-Kernel]sysname judger
Info: system name change to judger successful.
judger]
Judge-Kernel>system-view
Judge-Kernel]save
Info: Save configuration successfully.
Judge-Kernel]
Judge-Kernel>display current-configuration
judger]display current-configuration
#version V100R001C00B090
sysname judger
#
telnet server enable
telnet authentication-mode aaa
#
aaa
local-user admin password Root@123 service-type telnet
#
judge-mgr
testcase-path D:\OJ\data\
#
virtual-judge-mgr
hdu-judge username weizengke password weizengke
hdu-judge ip 127.0.0.1 port 5000
#
return
#
judger]
Judge-Kernel>display save-configuration
#version V100R001C00B090
sysname judger
#
telnet server enable
#
aaa
local-user admin password Root@123 service-type telnet
#
judge-mgr
mode oi
testcase-path D:\OJ\data\
#
virtual-judge-mgr
hdu-judge username weizengke password weizengke
hdu-judge ip 127.0.0.1 port 5000
#
return
#
judger]
Judge-Kernel]display users
# Type Delay Network Address Socket Username
---------------------------------------------------------------------
0 Console 00:01:05 127.0.0.1 - -
+ 1 Telnet 00:00:00 127.0.0.1 588
Judge-Kernel]
#带+号的为当前用户。
Judge-Kernel>display history 10
display current-configuration
judge enable
system-view
Judge-Kernel>
目前Linux下除了本地判题,Kernel其他特性都支持,文档暂没有时间写。主要就是在bin目录下直接./vos.o启动kernel。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。