Emulator for EvE Online Crucible expansion

Overview

EVEmu - An EVE Online Emulator

Introduction

EVEmu is a work-in-progress server emulator for the space MMO EVE Online. This is an educational project. Please see the disclaimer below for details.

ChangeLog

ChangeLog

EVEmu Software Development Kit

The EVEmu project maintains a set of pre-configured tools and environments which help setting up a new devlopment station. Check them out

Additional details on the SDK is available on the wiki.

docker-compose Quickstart

EVEmu can be run with Docker Compose:

git clone https://github.com/EvEmu-Project/evemu_Crucible.git
cd evemu_Crucible
docker-compose -p evemu up --build -d

NOTE: Add --build to the docker-compose up command to force a rebuild of the source. This is useful when making code changes.

By changing build: to image: in docker-compose.yml, you can use the prebuilt images available.

Configuraiton files are stored in the evemu_config volume. These can be modified and will persist across restarts.

To shutdown EVEmu:

docker-compose -p evemu down

Building with Docker

EVEmu can now be built with docker to ensure a consistent dependency base. This can be done by executing docker build . in the root directory. It is highly suggested to build EVEmu from the latest release available on the releases page.

Releases

Communication / Contact

Check out the new EVEmu Project website, our Discord and Forums!

Disclaimer

EVEmu is an educational project. This means, our primary interest is to learn and teach us and our users more about C++ project development in a large scale. Our software is not intended for running public servers, and we do not support that. We are not responsible for what others do with the source code downloaded from this project.

Legal

------------------------------------------------------------------------------------
LICENSE:
------------------------------------------------------------------------------------
This file is part of EVEmu: EVE Online Server Emulator
Copyright 2006 - 2021 The EVEmu Team
For the latest information visit https://evemu.dev/
------------------------------------------------------------------------------------
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
http://www.gnu.org/copyleft/lesser.txt.
------------------------------------------------------------------------------------
Comments
  • Anchoring Structure (POS) causes SEGFAULT

    Anchoring Structure (POS) causes SEGFAULT

    Describe the bug Trying to anchor a POS at IPX-H5 VI - Moon 2 Getting SEGFAULT when clicking 'Anchor Structure'

    To Reproduce Steps to reproduce the behavior:

    1. Go to a moon, unsure if it's just in nullsec or all moons and deploy a POS
    2. Click on 'Anchor Structure'
    3. See error
    4. Profit

    Expected behavior Clicking on Anchor Structure should trigger the anchoring placement UI and anchoring timer.

    Screenshots Not applicable.

    System Details (please complete the following information):

    • Server OS: Ubuntu 20.04 Server
    • Direct build from source
    • EVEmu Version 0.8.3

    Additional context gdb stack trace can be found here - https://pastebin.com/dkxsWCnz

    to test touch 
    opened by grenval 13
  • Applied Special Relativity: Achieving Full Stop takes *way* too long

    Applied Special Relativity: Achieving Full Stop takes *way* too long

    From AlasiyaEvE created by ryllae: zhyrohaad/AlasiyaEvE#38

    Achieving full stop takes way too long in nearly every ship - especially in ships with large mass, such as a Freighter. You ship will sit on "0.0m/s" for several minutes before the server thinks you're fully stopped (as measured by whether or not you can eject.

    I don't know how it worked back then or on live, but I would think this behavior is not accurate, and if anything, unfun.

    Not actually stopped? Einstein would disagree: Capture34

    dev review in progress 
    opened by jdhirst 13
  • Updates to Research Activity time calculations. (Plus minor fixes)

    Updates to Research Activity time calculations. (Plus minor fixes)

    This update adds the level modifier system rather than each run of a ME or PE job always taking the same amount of time regardless of level.

    • For now I've left a static divisor using the same value as the original code to keep the values realistic. The discrepancy is caused by the difference in the base value between the SDE used by Crucible compared to the current live SDE.

    • Formula used pulled from https://eve-industry.org/export/IndustryFormulas.pdf which is whats currently used on live however I believe the same system was used back in Crucible

    • Additionally added a minor bug fix for #182 where floats >0 but <1 were creating stacks of 0 ore in cargo.

    opened by beelitzs 10
  • Delivering Industry job also grants items, required for Invention.

    Delivering Industry job also grants items, required for Invention.

    Description Upon delivering the Industry job, you get the following:

    • Produced items (expected)
    • Materials, required for invention job (very much not expected)
    • Skillbook, required to inject the skill for producing that type of item (also not expected)

    So far i only tested it with single BP in scope of assembly line fix, so probably it'll yield even more stuff for other blueprints.

    Steps to reproduce the behavior:

    1. Get\create a blueprint for Antimatter Charge S, get\create materials required to produce it.
    2. Install a manufacturing job with this BP, 1 run.
    3. Wait until finished and press Deliver.

    Expected behavior Player receives 100 units of Antimatter Charge S

    Actual behavior Player receives 100 units of Antimatter Charge S, 1 Industry skillbook, 1 Incognito Data Interface, 1 Plasma and 1 Electromagnetic Physics datacores.

    System Details:

    • Server OS: Windows 10
    • Docker build (remote development sandbox container)
    • EVEmu Version - Staging, e7feda9

    Server log is attached - ITEM and MANUF logging sections were fully enabled. eve-server.log

    bug dev review 
    opened by VizanArkonin 10
  • [ORG] Convert evemuproject to Organization

    [ORG] Convert evemuproject to Organization

    From evemu_server created by jdhirst: evemuproject/evemu_server#166

    Once we find the owner of the evemuproject account, we should convert it to an organization account so things like Projects can be organized across the repository and organization.

    I am working on getting releases (numbered versions) going again with version 0.7.9. I would like to have a project board to track changes and commits / pull requests that could be part of the release.

    CC: @zhyrohaad for visibility

    meta 
    opened by jdhirst 10
  • Manufacturing job can't be installed - completedStatusID row has no default value and is not inserted

    Manufacturing job can't be installed - completedStatusID row has no default value and is not inserted

    Description Installing an industry job will result in a DB error:

    08:27:39 [DB Error] DoQuery_locked(/src/src/eve-core/database/dbcore.cpp:345): DBCore Query - #1364 in 'INSERT INTO ramJobs (ownerID, installerID, assemblyLineID, installedItemID, installTime, beginProductionTime, endProductionTime, runs, outputFlag, licensedProductionRuns) VALUES (90000000, 90000000, 88751, 140000051, 132715024592487808, 132715024592487680, 132715027462487680, 1, 4, 0)': Field 'completedStatusID' doesn't have a default value
    
    08:27:39 [DB Error] Failed to insert new job to database: Field 'completedStatusID' doesn't have a default value.
    
    08:27:39 [ManufError] Could not InstallJob for Malcolm McCann using Antimatter Charge S Blueprint
    
    08:27:41 [Service] ramProxy::GetJobs2()
    
    08:27:41 [DB Error] DoQuery_locked(/src/src/eve-core/database/dbcore.cpp:320): DBCore - Status != Connected
    

    Materials get consumed, but job is not installed and BP is gone

    Steps To Reproduce Any blueprint will do. I'll describe my scenario

    1. Gather materials and get an Antimatter Charge S blueprint
    2. Proceed to installing the job
    3. Confirm installation

    Expected behavior Job gets installed and gets displayed in Science and Industry window

    System Details:

    • Server OS: Windows 10
    • Docker build
    • EVEmu Version 0.8.3, staging branch
    bug to test touch 
    opened by VizanArkonin 9
  • Buy market items and ships not delivered

    Buy market items and ships not delivered

    Describe the bug I tried to buy a ship and I did not receive a ship. Money was removed. I got a message also saying I don't have enough money for the ship but I clearly did.

    To Reproduce Steps to reproduce the behavior:

    1. Buy ship
    2. Receive not enough money error and no ship

    Expected behavior Buy ships. Get ships. Remove money.

    System Details (please complete the following information):

    • Server OS: Windows 10
    • Docker
    • EVEmu Version 0.8.3
    bug dev review 
    opened by ekg98 9
  • fixing both tractor beam and persistant jetcan

    fixing both tractor beam and persistant jetcan

    ShipService : after populating the jetcan with items set it to unachored. Container : implemented swich case to determine if container should be destroyer whene empty.

    do-not-merge 
    opened by idolord 8
  • Updates to mining logic

    Updates to mining logic

    Can now activate miners when target storage hold lacks space to add a full cycle Overflow ore will be dumped if the target storage hold lacks the space to carry it all

    Previously, a miner could not be activated if the total module cycle m3 was larger than remaining space.

    Tested with a bantam and two miner Is, in various configurations of auto canceling, hand canceling, etc.

    Unsure if the lost ore is still deleted from the asteroid?

    opened by TheOneJohiah 8
  • Some fixes to container inventories

    Some fixes to container inventories

    I have not pushed this directly to staging because I'd like some feedback on the changes first, specially from @zhyrohaad

    Do you think these checks should be somewhere else in the code or something or do they look fine?

    bug in progress 
    opened by Almamu 8
  • crash on login at ubuntu 18.04

    crash on login at ubuntu 18.04

    Describe the bug It crashes

    To Reproduce Steps to reproduce the behavior:

    1. Build
    2. DB Install(probably not fully migrated, SQL syntax error for some sqls)
    3. Login
    4. Crash

    Expected behavior Gameplay

    **System Details: **

    • Server OS: Ubuntu 18.04 Server
    • Docker or direct build
    • EVEmu Version 4/Apr 2022 latest

    Additional context

    22:36:28 [DB Error] GetExpressions(/evemubuild/evemu_Crucible/src/eve-server/cache/BulkDB.cpp:319): Error in GetExpressions: Table 'evemu.dgmExpressions' doesn't exist
    22:36:28 [DB Error] DoQuery_locked(/evemubuild/evemu_Crucible/src/eve-core/database/dbcore.cpp:320): DBCore - Status != Connected
    22:36:28 [DB Error] DoQuery_locked(/evemubuild/evemu_Crucible/src/eve-core/database/dbcore.cpp:345): DBCore Query - #1146 in ' SELECT expressionID, operandID, arg1, arg2, expressionValue, description, expressionName, expressionTypeID, expressionGroupID, expressionAttributeID FROM dgmExpressions': Table 'evemu.dgmExpressions' doesn't exist
    22:36:28 [DB Error] GetExpressions(/evemubuild/evemu_Crucible/src/eve-server/cache/BulkDB.cpp:319): Error in GetExpressions: Table 'evemu.dgmExpressions' doesn't exist
    22:36:28 [DB Error] DoQuery_locked(/evemubuild/evemu_Crucible/src/eve-core/database/dbcore.cpp:320): DBCore - Status != Connected
    22:36:30 [Service] bulkMgr::GetFullFilesChunk()```
    
    question unknown 
    opened by NukedBart 7
  • Adding server config to disable or enable to declare War dec on another corporation

    Adding server config to disable or enable to declare War dec on another corporation

    Is your feature request related to a problem? Please describe.

    • Adding server config to disable or enable War deck on another corporation.

    Describe alternatives you've considered

    • War decking is heavily exploited for newly established corporations and it's new player base.
    • War decking could able to postponed by 24 or 48 hours via server config.
    • Same config could be made for Alliance war.
    opened by Metalica 0
  • Adding server config when you can rejoin another corporation

    Adding server config when you can rejoin another corporation

    Is your feature request related to a problem? Please describe.

    • Adding server config when you can rejoin another corporation

    Describe the solution you'd like

    • In Eve online you can hop from corporation to corporation as you see fit. This server config would add "option" that server admin could use, when player can join another corporation.

    Describe alternatives you've considered

    • This corporation hoping can be also exploited.

    Additional context

    • Adding 1, 2, 3, 4, 5, 6, 7, 14, 21, 28 days to be able to join another corporation.
    • Same config could be added for joining another Alliance.
    opened by Metalica 0
  • Adding Server config for wormhole spawns

    Adding Server config for wormhole spawns

    Is your feature request related to a problem? Please describe.

    • Adding server config for wormhole spawning.

    Describe the solution you'd like

    • Server admin could choose:
    • How many wormholes to spawn on server.
    • What size of each wormhole.
    • How many links per wormhole.
    • What npc (easy to hard) to spawn in wormholes.

    Additional context

    • Labels: Future
    enhancement need prereq incomplete system low-priority 
    opened by Metalica 0
  • Adding server config to connect to Jovian empire and UUA-F4

    Adding server config to connect to Jovian empire and UUA-F4

    Is your feature request related to a problem? Please describe.

    • Adding server config to enable gate link to Jovian empire and UUA-F4 with rest of the eve map.

    Additional context

    • Labels: Future.
    enhancement needs-triage need prereq incomplete system low-priority 
    opened by Metalica 0
  • Adding server config who can dock in stations

    Adding server config who can dock in stations

    Is your feature request related to a problem? Please describe.

    • Adding server config who can dock at station with what security standing.

    Describe the solution you'd like

    • Server admin could disable anyone docking at 0.8 station, whit standing -1.0.

    Additional context

    • Labels: Future, enhancement.
    enhancement need prereq incomplete system low-priority 
    opened by Metalica 0
Releases(0.8.4)
  • 0.8.4(Oct 8, 2021)

    • [FEAT] Alliances Implemented
    • [FEAT] Sovereignty Implemented
    • Fixed bug in PI database causing segmentation fault
    • Fixed sales tax default to 1%
    • CustomError system reimplemented
    • Updated ImageServer to allow for Alliance logos to be uploaded correctly
    • Replaced liveupdates with updated versions
    • Implemented new Database management tool (EVEDBTool) for migration versioning
    • Implemented automatic market database seeding
    Source code(tar.gz)
    Source code(zip)
Owner
EvEmu Project
EvE Online Emulator Project for Learning C++ on a large scale.
EvEmu Project
A C++ library with all the online array problems and etc which I get online

cpp-Library A C++ library with all the online array problems and etc which I get online. Setup To setup it simply just download the repo and then move

Padmashree Jha 6 Dec 6, 2021
This repo contains solutions to coding questions available online on coding platforms like - Codeforces, Codechef, URI Online Judge, and Hackerrank.

CPP_Soln This repo contains solutions to coding questions available online on coding platforms like - Codeforces, Codechef, URI Online Judge , LeetCod

Rijul Jain 4 Nov 3, 2022
X-CUBE-AZRTOS-F4 (Azure RTOS Software Expansion for STM32Cube) provides a full integration of Microsoft Azure RTOS in the STM32Cube environment for the STM32F4 series of microcontrollers.

X-CUBE-AZRTOS-F4 Azure RTOS Software Expansion for STM32Cube With Azure RTOS complementing the extensive STM32Cube ecosystem providing free developmen

STMicroelectronics 28 Dec 7, 2022
X-CUBE-AZRTOS-F7 (Azure RTOS Software Expansion for STM32Cube) provides a full integration of Microsoft Azure RTOS in the STM32Cube environment for the STM32F7 series of microcontrollers.

X-CUBE-AZRTOS-F7 Azure RTOS Software Expansion for STM32Cube With Azure RTOS complementing the extensive STM32Cube ecosystem providing free developmen

STMicroelectronics 7 Nov 17, 2022
A fork of Wraith Cyborg, the Call of Duty: Online Asset Exporter

NOTE: No support is provided for this, it was updated for a friend who works on a CoD OL Mod and it working for him was all that mattered, it is provi

Philip 6 Jan 26, 2022
🎮 Plants vs. Zombies multiplayer battle, developed via reverse engineering, inline hook and dynamic-link library injection. Two online players defend and attack as the plant side and zombie side respectively.

Plants vs. Zombies Online Battle This project has two original repositories: https://github.com/czs108/Plants-vs.-Zombies-Online-Battle https://github

Liugw 71 Oct 14, 2021
A simple Z-Machine implementation in a single C file. Now with online multiplayer! :)

This is an implementation of Infocom's Z-Machine. The Z-Machine is a virtual machine that's something like a high-level CPU. To keep their games portable and easier to write, Infocom's games all use this fake processor and ship with a platform-specific Z-Machine "emulator" ... so a game could run wherever someone had implemented the Z-Machine.

Ryan C. Gordon 92 Dec 28, 2022
Minimal-ish implementation of Unreal Online Subsystem + ImGui UI

Minimal-ish implementation of Unreal Online Subsystem + ImGui UI

Brace Yourself Games 4 Mar 14, 2022
Online multi-agent trajectory planner using linear safe corridor (LSC)

lsc_planner This package presents an efficient multi-agent trajectory planning algorithm which generates safe trajectories in obstacle-dense environme

Jungwon Park 33 Dec 27, 2022
GTA Online survival missions in Single Player mode

SurvivalsModCPPVersion You liked the survival missions from GTA Online? Well, me too. This mod aims to recreate the same gamemode in Single Player mod

null 1 Nov 23, 2021
A customizable hardware prefetching framework using online reinforcement learning as described in the MICRO 2021 paper by Bera and Kanellopoulos et al.

A Customizable Hardware Prefetching Framework Using Online Reinforcement Learning Table of Contents What is Pythia? About the Framework Prerequisites

SAFARI Research Group at ETH Zurich and Carnegie Mellon University 56 Jan 1, 2023
This is a C plus plus coding template for Compitative programming. This template is very optimized for the Online Judgment

C-plusplus-compitative-Programming-Template Tech We Used C++ Features Easy to compile Easy debug facility Analysised and optimized base template Steps

Alan Binu 15 Jan 27, 2022
A simple tool used to upgrade things quicker in the online game Rust.

ex0 Rust Tool ??️ What is this? ⚡ This is a simple script with multiple tools such as a code enterer and a auto upgrade feature! ??️ Features ⚡ Any se

Alfie 4 Aug 20, 2022
PoC that fixes two GTA Online bugs and drastically improves load times for CPU-bound systems

Project status Officially fixed by R* 2021-03-16 :) PoC that fixes two GTA Online bugs and drastically improves load times for CPU-bound systems All a

null 2.8k Jan 5, 2023
NormalMap Generator Online

NormalMap-Online NormalMap Generator Online A free tool to create normal maps. You may use all normal maps you create here as you see fit. They are yo

null 324 Jan 1, 2023
Hidden Eye is an all in one tool that can be used to perform a variety of online attacks on user accounts

Hidden Eye is an all in one tool that can be used to perform a variety of online attacks on user accounts. It’s well loaded, therefore it can be used as keylogger (keystroke logging), phishing tool, information collector, social engineering tool, etc.

Muhammad Qazi 0 Jun 24, 2022
Experimental Worms Armageddon WormKit module that implements real-time online multiplayer for racing schemes

wkRealTime v.0.0.4d Experimental Worms Armageddon WormKit module that implements real-time online multiplayer for racing schemes. Installation Place w

null 15 Jul 12, 2022
DigiMahal is the First Project of Our Team in Sharif University of Technology for Basics of Programming That in this Code we Implemented an Online Shop like DigiKala

DigiMahal is the First Project of Our Team in Sharif University of Technology for Basics of Programming That in this Code we Implemented an Online Shop like DigiKala.

mhlatifi 3 Jul 23, 2022
This is our take on the digitalisation of the board game "b00le0", where you can play versus our AI, or against one of your friends in an online match.

This is our take on the digitalisation of the board game "b00le0", where you can play versus our AI, or against one of your friends in an online match.

valko purzalko 22 Dec 8, 2022