diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 000000000..ee959f3d1 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,44 @@ +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- + +# https://github.com/microsoft/vscode-dev-containers/tree/v0.101.1/containers/ubuntu-18.04-git/.devcontainer/Dockerfile +FROM ubuntu:18.04 + + ENV DEBIAN_FRONTEND=noninteractive + RUN apt-get update \ + && apt-get -y install --no-install-recommends build-essential \ + gcc-5 g++-5 libtool cmake curl debconf-utils \ + git git-core libio-stringy-perl liblua5.1 \ + liblua5.1-dev libluabind-dev libmysql++ \ + libperl-dev libperl5i-perl libsodium-dev \ + libsodium23 libmysqlclient-dev lua5.1 \ + minizip make mariadb-client \ +# optional, mariadb server + mariadb-server \ +# optional, debugging tools + gdb valgrind \ +# + nano open-vm-tools unzip uuid-dev \ + zlibc wget \ +# # +# # Clean up + && apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* +ENV DEBIAN_FRONTEND=dialog +EXPOSE 3306 +EXPOSE 5558 +EXPOSE 5559 +EXPOSE 7000 +EXPOSE 7001 +EXPOSE 7002 +EXPOSE 7003 +EXPOSE 7004 +EXPOSE 7005 +EXPOSE 7778 +EXPOSE 9000 +EXPOSE 9001 +EXPOSE 9080 +EXPOSE 9081 \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..1723407c3 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,28 @@ +// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.101.1/containers/ubuntu-18.04-git +{ + "name": "Ubuntu 18.04 EQEMU", + "dockerFile": "Dockerfile", + + // Set *default* container specific settings.json values on container create. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [], + "appPort": [3306, 5558, 5559, 7000, 7001, 7002, 7003, 7004, 7005, 7778, 9000, 9001, 9080, 9081], + // "forwardPorts": [3306, 5558, 5559, 7000, 7001, 7002, 7003, 7004, 7005, 7778, 9000, 9001, 9080, 9081], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-in-docker. + // "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ], + + // Uncomment when using a ptrace-based debugger like C++, Go, and Rust + // "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ], + + // Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root. + // "remoteUser": "eqemu" +} \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 000000000..4aee577ae --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**", + "/usr/include/mysql" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c11", + "cppStandard": "c++17" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 000000000..429b59492 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,68 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "make", + "type": "shell", + "command": "cd build && make", + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": [ + "$gcc" + ] + }, + { + "label": "cmake", + "type": "shell", + "command": "mkdir -p build && cd build && cmake -DEQEMU_BUILD_LOGIN=ON -DEQEMU_BUILD_LUA=ON -G 'Unix Makefiles' ..", + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher":{ + "owner": "cpp", + "fileLocation": "relative", + "pattern":[ + { + "regexp": "([\\w+|\\\\]*\\.\\w+)\\((\\d+)\\)\\: (warning|error) (.*)$", + "file": 1, + "location": 2, + "severity": 3, + "message": 4 + } + ] + } + }, + { + "label": "zone", + "type": "shell", + "command": "cd build/bin && ./zone", + "group": { + "kind": "test", + "isDefault": true + } + }, + { + "label": "loginserver", + "type": "shell", + "command": "cd build/bin && ./loginserver", + "group": { + "kind": "test", + "isDefault": true + } + }, + { + "label": "world", + "type": "shell", + "command": "cd build/bin && ./world", + "group": { + "kind": "test", + "isDefault": true + } + } + ] +} \ No newline at end of file