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
  • The brokers fee in the market is strange

    The brokers fee in the market is strange

    When I sell goods in the market, for example, total 15isk. The brokers fee was 10000%, which cost me 1500isk. Whether I sell anything in the market, the brokers fee always is 10000%. I have tried many times and still have this bug.

    Screenshots When I sell it: image Brokers fee: image

    bug 
    opened by fumikejin 2
  • using titan to kill an npc causes a segfault + you can't board a titan

    using titan to kill an npc causes a segfault + you can't board a titan

    Describe the bug using titan to kill an npc causes a segfault

    To Reproduce Steps to reproduce the behavior:

    1. Get a full loaded titan
    2. .spawn 23333 1
    3. Lock
    4. Shoot
    5. segfault

    Expected behavior kill the npc

    Screenshots image

    System Details (please complete the following information):

    • Server OS: Ubuntu 18.04
    • Direct build
    • EVEmu Version 2022-4-4 latest
    bug incomplete system 
    opened by NukedBart 2
  • segfault on board when you're surrounded by hostile ships

    segfault on board when you're surrounded by hostile ships

    Describe the bug as the title

    To Reproduce Steps to reproduce the behavior:

    1. board ibis in station
    2. undock
    3. issue .spawn 23333 100
    4. get destoryed
    5. issue .spawn 601
    6. board the new ship
    7. segfault, client crash

    Expected behavior board the ship and get destroyed again

    System Details (please complete the following information):

    • Server OS: Ubuntu 20.04
    • Direct build
    • EVEmu Version 2022-4-4 latest
    • mariadb 10.7
    bug 
    opened by NukedBart 6
  • Wormholes do not spawn in system

    Wormholes do not spawn in system

    Describe the bug Utilizing the new code for Wormholes in staging branch, wormholes do not spawn as expected.

    To Reproduce Steps to reproduce the behavior:

    1. Check out staging branch of EVEmu.
    2. docker-compose -p evemu up --build -d
    3. Enter the Docker container using shell

    Edit evemu-server.xml:

    <cosmic>
    <WormHoleEnabled>true</WormHoleEnabled><!-- bool -->
    </cosmic>
    <debug>
    <IsTestServer>false</IsTestServer>  <!--  bool   -some functions disabled for live server -->  (tested both)
    </debug>
    

    Edit log.ini:

    # Cosmic Mgr Logging:
    COSMIC_MGR=1
    COSMIC_MGR__ERROR=1
    # non-error errors
    COSMIC_MGR__WARNING=1
    # mgr init status msgs on system boot, add/remove signal msgs
    COSMIC_MGR__MESSAGE=1
    # asteroid type checks, anomaly mgr maps
    COSMIC_MGR__DEBUG=1
    # mgr load/save/create msgs
    COSMIC_MGR__TRACE=1
    
    # Wormhole Mgr Logging:
    WORMHOLE_MGR=1
    WORMHOLE_MGR__INFO=1
    WORMHOLE_MGR__DEBUG=1
    WORMHOLE_MGR__TRACE=1
    
    1. Save files and restart the evemu-server container.

    Expected behavior Wormhole Manager to spawn wormholes in system when it's booted.

    Screenshots N/A

    System Details (please complete the following information):

    • Server OS: Debian 11
    • Docker
    • EVEmu Version commit cf32df331d1d5de729309b955ddb1b6242446f05

    Additional context Wormhole manager does not appear at all in logging, tried to visit several different systems from highsec to nullsec to produce a wormhole.

    bug to test 
    opened by kimrosebush 5
  • [Feature] Station Services / Management

    [Feature] Station Services / Management

    This feature issue tracks the implementation of outpost station services and the management of them.

    • [ ] Implement station management
    • [ ] Implement station service entities (which can be shot at to offline certain services)
    enhancement future 
    opened by jdhirst 0
  • [Feature] Dungeon Editor

    [Feature] Dungeon Editor

    • [ ] Replace old implementation in AnomalyMgr
    • [ ] Handle spawning of AI enemies
    • [ ] Allow creation of new rooms and dungeons
    • [ ] Fix StaticDataMgr database load errors on startup
    • [ ] Handle archetypes, factions and spawn types in the dungeon editor
    • [ ] Fix UI bug where saving template changes makes the template window
    • [ ] Finish templating implementation including adding and modifying of templates
    • [x] Fix radius of items spawned from templates
    enhancement in progress 
    opened by jdhirst 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 3 Nov 1, 2021
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 25 Aug 12, 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 6 Sep 13, 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 86 Aug 25, 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 25 Aug 15, 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 43 Aug 26, 2022
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 Sep 22, 2022
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 307 Sep 19, 2022
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 Jul 3, 2022