100# Binary system M1 and M5 - Forex Strategies Resources

Success To Be [OC, M.2 DualBoot, AMD R5, RX 5700 XT, 16GB RAM, BCM94360CD]

Success To Be [OC, M.2 DualBoot, AMD R5, RX 5700 XT, 16GB RAM, BCM94360CD]

OpenCore AMD DualBoot Hackintosh! This would absolutely not have been possible without this community and especially Khronokernel! Many, many thanks - this is my first Hackintosh and self-built PC!! :D


See also: OpenCore config below!
Part Model
CPU AMD Ryzen 5 3600X 3.8GHz 6C
Video Card PowerColor Radeon RX 5700 XT 8GB Red Devil
Memory G.Skill Ripjaws V 2 x 8 GB DDR4-3200C14
Storage ADATA XPG SX8200 Pro 2TB M.2-2280 NVMe SSD
Power Supply Corsair HX750 750W 80+ Platinum Certified Fully Modular ATX
CPU Cooler Noctua NH-D15S
Case Fan 2x Noctua NF-A14 PWM 140 mm
Thermal Paste Thermal Grizzly Kryonaut, 1g
Case Fractal Design Meshify C ATX Mid Tower
Monitor AOC 24G2U/BK 24" 1920x1080 144Hz
Keyboard Apple MB110LL/B Wired
Mouse Logitech G Pro Wireless Optical
Wifi/BT Card via PCIe Fenvi BCM94360CD, AliExpress (Fenvi FV-A436CD)
USB 3.0 PCIe Card Some cheap thing (no brand found?!) I had laying around, not expected to work on macOS, good on Win10
PCPartPicker Part List (without BCM94360CD) About $1600, most parts - especially the expensive ones - where bought on sale, though!
I had these goals in mind:
  • Hackintosh, of course!
  • DualBoot
  • 2K Performance (Everyday PCing to AAA Gaming) with proper heat management, unlike Apple
  • Longevity, my previous Main, a MacBookPro 13'' (Early 2011), still flourishes! :) Good boi!
  • Low noise, hence the Powercolor Graphics Card and the beefy NH-D15S (also for performance)
  • As little dust as possible (see case)
  • As small as possible - without compromising on goals
  • As little RGB as possible (sorry.), which turns out to be difficult
Max credit goes here and here!! Also, here, here, here, here and here. Totally solid work, guys! This Project was started on December, 1st 2019. Now it is February, 7th 2020!


  • Vanilla Hackintosh
  • OpenCore 0.5.5
  • DualBoot on one 2TB M.2 SSD with Win10
  • AMD Ryzen 5 Processor with RX 5700 XT (Navi 10) and 16GB RAM on MSI B450
  • Wifi and BT via BCM94360CD over PCIe (Windows compatible)
  • Sleep/wake works
  • Fixed iServices, even though I probably won't use them...
  • I consider my goals met.
  • Mapped USB ports, see below.

Known issues

  • Bluetooth is always "on", but not working. Probably USB Mapping; Resolved here.
  • Internal drives shown as externals (yellow-orange). Solved..
  • Black screen when setting resolution to 1080i instead of 1080p in system preferences. Minor issue.
  • Cannot boot into Recovery mode. Solved.
  • Won't sleep after set time (system prefs). "HibernateMode" set to "Auto" in config & port mapping KEXTs, see below.
  • Cannot adjust volume of built-in-monitor speaker (DisplayPort)~~~~. Solved with software.
  • Some Motherboard RGB issues - Solved by USB Mapping.
  • Choosing to boot into Windows via Bios (F11) - I don't consider this much of an issue.
I will try to solve these issues in separate threads and update this one, but any help much appreciated! Any comments - e.g. on Kexts; do I need them all?! - are welcome too...

Not tested yet

  • Microphone jack on case.
  • FileVault - don't need that, probably won't test

Advice for interested people


My Hackintosh configuration

  • OpenCore 0.5.5
  • macOS Catalina 10.15.3
  • The following EFI is on my OpenCore stick. There is also the latest macOS on there. If you go for DualBoot, keep this stick around & updated as Windows seems to be able to mess around with your EFI... With this stick you'll always be able to boot your Hackintosh and repair its EFI partition.
  • FULL EFI FOLDER: See in comments ("PlatformInfo" has to be populated in config.plist - see below... You can copy over the info from your current config. Also, my changes in DeviceProperties/Add might be a problem for your storage setup.)
  • OpenCore EFI files:
  • Config.plist: http://www.filedropper.com/configreddit EDIT: See comments (only use if exactly same components as me; see below. Change according to OpenCore Guide!! [PlatformInfo removed; Populate this yourself like this!] I'd advice you to make your own config.plist.) Changed with ProperTree strictly according to the OpenCore Guide. Differences to sample.plist:
    • Probably outdated: All of the following modifications are for OC 0.5.5. If you are on a later version of OC it is likely that these have changed!
    • 5 initial Warnings removed.
    • DeviceProperties/Add: Removed "PciRoot(0x0)/Pci(0x1b,0x0)" and "PciRoot(0x0)/Pci(0x2,0x0)" as well as their children
      • Added Key "PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)" as child of "Add" with Type "Directory". Added child beneath the just made child with name "built-in", type "Data" and value "01000000". To address drive issue above, see here.
    • Populated this config.plist with OC snapshot function of ProperTree (CMD/CTRL+R, point to EFI/OC/) . Adds KEXTs and SSDT.
    • Kernel/Emulate: Removed "CpuidMask" and "CpuidData" (were blank anyway).
    • Kernel/Patch: Ryzen/Threadripper(17h) Patch applied.
    • Kernel/Quirks:
      • "DummyPowerManagement" set to True
      • "ExternalDiskIcons" set to True
      • "PanicNoKextDump" set to True
      • "PowerTimeoutKernelPanic" set to True
      • "XhciPortLimit" set to True (set to False after USB mapping in step F)
    • Misc/Boot:
      • "HibernateMode" set "Auto" after USB mapping
    • Misc/Debug: Nothing changed.
    • Misc/Security:
      • "AllowNvramReset" set to True
      • "AllowSetDefault" set to True
      • "AuthRestart" left False
      • "RequireSignature" set to False
      • "RequireVault" set to False
      • "ScanPolicy" set to 0
    • Misc/Tools: Shell.efi added by the OC snapshot function.
    • NVRAM/7C436110-AB2A-4BBB-A880-FE41995C9F82:
      • "boot-args" set to "-v keepsyms=1 debug=0x100 agdpmod=pikera alcid=1"
      • "nvda_drv" set to <>
      • "prev-lang:kbd" set to my preferences. (Use "656E2D55 533A30" = HEX for keyboard layout "en-US:0"; find your own with a TEXT to HEX converter and this.
    • NVRAM/"WriteFlash" set to True,
    • PlatformInfo: Populated with info according to the Guide with GenSMBIOS. Went with a "iMacPro1,1". Found "Purchase Date not Validated" numbers after about 3 (x10) times.
    • UEFI/Drivers: Drivers auto-added by the OC snapshot function.
    • UEFI/Input:
      • "PointerSupport" changed to "Data" and set to <>
      • "PointerSupportMode" changed to "Data" and set to <>
    • UEFI/Protocols/"ConsoleControl" set to True
    • UEFI/Quirks:
      • "ProvideConsoleGop" set to True
      • "RequestBootVarFallback" set to True
  • Bios settings strictly according to the OpenCoreGuide:
    • Disabled:
      • "Fast Boot"
      • "CSM" [UEFI instead]
    • Enabled:
      • "EHCI/XHCI Hand-off"
      • "Above 4G decoding"

My process (only successful part)

(You'll need 3 USB sticks! 2 with at least 4GB, 1 with at least 8GB. I am not sure, whether the Linux Part is really necessary, or if the partitioning can also be done from the macOS or Win10 stick...)
A) The basic build
  1. Built PC.
  2. Installed Windows 10 from USB stick [8GB] (made from Microsoft Media Creation Tool, instructions here, don't forget to install in UEFI mode - see second link in 3.!). Did some fan adjustments in BIOS too... Keep that stick!
  3. Set up Windows 10, installed drivers (see here, here).
  4. Installed Python 3.7! (For SSDTTime, below. Don't get Python 3.8.1!)
Do not set up Windows too much yet, it will be deleted completely and reinstalled again.

B) Creating the OpenCore Stick
  1. Followed Snazzy Lab's Video (read its description!) to create the OpenCore stick, everything on the above Win10: (useful additional help: khronokernel and VanillaAMD and Github)
    1. (Maybe format your stick to GUID HFS+ via Linux or Mac first... See Github.)
    2. Downloaded latest macOS via gibMacOs.bat (Recovery package!) (Admin privileges needed!). Update 7zip first for step B)1.II. and B)1.III. and use a Lan connection!
    3. Made a bootable install of that via Makeinstall.bat (Number + o) (Admin privileges needed!).
    4. Opened the EFI folder on the now newly made USB stick.
    5. Deleted everything (3 files) in EFI/OC/Drivers/, except FwRuntimeServices.efi.
    6. Deleted everything (2 files) in EFI/OC/Tools/.
  2. Put in the following drivers from AppleSupportPkg on the stick to EFI/OC/Drivers/:
    1. ApfsDriverLoader.efi
    2. VBoxHfs.efi
  3. Put KEXT and SSDT and Drivers on the stick:
    1. For troubleshooting afterwards - while booting from the stick - consult: khronokernel/troubleshooting!!
    2. Put the above KEXTs on the stick, all in EFI/OC/Kexts (instructions: khronokernel, more kexts: onedrive).
    3. Put the following SSDTs on my stick (into OC/ACPI)
      1. See above! SSDTTime not needed.
    4. Created config.plist with ProperTree (search with crtl+f!) (full instructions: khronokernel plus config documentation mentioned above in B)3.a.!!):
      1. Renamed "simple.plist" in the downloaded OpenCorePkg folder to "config.plist" and copied it over to the stick into EFI/OC/.
      2. Open Propertree.bat (Admin privileges maybe needed!) and opened said config.plist via the menu bar "File" of proper tree.
      3. Created my own config via "OC snapshot" in the menu bar "File", navigated to EFI/OC of my stick.
      4. Patched my config with patches.plist from AMD_Vanilla (17h): Open simultaneously in ProperTree. (See Snazzy Laps Video and this on how!)
    5. Edited config.plist, followed Vanilla Guide/amd-config.plist (partly later because of errors): See above!
    6. Saved via menu bar "File".

C) Created bootable Linux stick and made partitions on my internal SSD for dual boot (I was recommended this procedure here), install macOS:
  1. Still in Windows 10: Followed the Ubuntu Tutorial to make another stick.
  2. Shut down Windows 10.
  3. Booted again, with the OpenCore Stick connected, temporarily changed the boot partition with F11 and chose my stick (some of the above mentioned config.plist changes were applied AFTER this step, because certain errors occured):
  4. Got to the boot picker and reset NVRAM.
  5. Restarted the same way and chose the macOS installer (Step 3).
  6. Went into the macOS installer's Disk Manager. Formatted the whole internal SSD (maybe ExFat? Probably doesn't matter) and made two partitions for macOS (APFS) and Windows (don't remember what, maybe ExFat?, doesn't matter)
  7. Exit the Disk Manager and enter the installer. Install macOS. Maybe create a backup of that.
  8. Do this: Especially the EFI copying! How to mount the EFI partition on macOS.
  9. Shut down.

E) Created Windows:
  1. Booted into Linux, via Stick.
  2. Got synaptic and hfsprogs for Linux:
    1. Searched the Programs for "Software & Updates". Enable second option: Community-maintained free and open-source software (universe). "Close" this window and let it do it's download.
    2. Opened Terminal (Ctrl+Alt+T), entered:
      1. sudo apt-get update
      2. sudo apt-get install synaptic
      3. sudo apt-get install hfsprogs (not needed anymore?!)
  3. Searched for "Disks". Designated the 200MB partition from above as EFI (I believe via the cog wheels > Format Partition). Close that window.
  4. Searched in progs for "GParted":
    1. Format the second, partition to NTFS.
    2. (You should see three partitions on your internal SSD: EFI, Mac (APFS - probably unrecognised) and Windows)
  5. Shut down Linux.
  6. Boot with Windows Stick connected into the Windows installer.
  7. Install Windows on that NTFS partition.
  8. (Mac and Windows will write their EFI on the same partition! Keep at least your OpenCore Stick!!)
F) Finished. Set up both machines (Windows: here and here) completely!! :D
  • Mapped my ports by removing the XHC0 controller with this kext completely (lost two ports in the process, but that's ok) and (optionally) mapped the PTXH controller with this kext (you might have to adjust this!). For why, see here. See here and here, too!
  • Disabled OpenCore logging: Values set to 0. (In config above not included!)
  • Found "valid" SMBIOS numbers, fixed iServices according to this. (In config above not included!)
  • Didn't enable FileVault or OpenCore Security Features yet... Probably won't.
submitted by CrayCJ to hackintosh [link] [comments]

Help with an error making an https request with c++

I'm attempting to do an HTTPS PUT from C++ on an ESP-EYE. I started with the C esp_https_example code and had that working with the same PEM and URL. I started to transition to using this from C++ as part of a project that is primarily written in C++. My call looks like:
```cpp static const char *URL = "https://signal.unexpectedeof.casa/on-air";
void https_with_url(void) { esp_http_client_config_t* config = (esp_http_client_config_t*)calloc(sizeof(esp_http_client_config_t), 1); config->url = URL; config->cert_pem = unexpectedeof_casa_root_cert_pem_start; config->event_handler = _http_event_handler;
esp_http_client_handle_t client = esp_http_client_init(config); esp_http_client_set_method(client, HTTP_METHOD_PUT); esp_err_t err = esp_http_client_perform(client); if (err == ESP_OK) { ESP_LOGI(TAG, "HTTPS Status = %d, content_length = %d", esp_http_client_get_status_code(client), esp_http_client_get_content_length(client)); } else { ESP_LOGE(TAG, "Error perform http request %s", esp_err_to_name(err)); } esp_http_client_close(client); esp_http_client_cleanup(client); 
} ```
I believe the URL I'm providing isn't being copied or initialized correctly resulting in a url parsing error. When the function https_with_url is called I get this error:
text E (13593) esp-tls: couldn't get hostname for :signal.unexpectedeof.casa: E (13593) esp-tls: Failed to open new connection E (13603) TRANS_SSL: Failed to open a new connection E (13603) HTTP_CLIENT: Connection failed, sock < 0 E (13613) HTTPS_HANDLING: Error perform http request ESP_ERR_HTTP_CONNECT I (13623) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED I (13623) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED
This is the full output from flash and monitor: ```text (38) tron:smalltalk n0mn0m$ idf.py --port /dev/cu.SLABUSBtoUART flash monitor Adding "flash"'s dependency "all" to list of commands with default set of options. Executing action: all (aliases: build) Running ninja in directory /Users/n0mn0m/projects/on-aivoice-assistant/smalltalk/build Executing "ninja all"... [1/3] Performing build step for 'bootloader' ninja: no work to do. Executing action: flash Running esptool.py in directory /Users/n0mn0m/projects/on-aivoice-assistant/smalltalk/build Executing "/Users/n0mn0m/.espressif/python_env/idf4.1_py3.8_env/bin/python /Users/n0mn0m/projects/esp-idf/components/esptool_py/esptool/esptool.py -p /dev/cu.SLAB_USBtoUART -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash @flash_project_args"... esptool.py -p /dev/cu.SLAB_USBtoUART -b 460800 --before default_reset --after hard_reset --chip esp32 write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x8000 partition_table/partition-table.bin 0x1000 bootloadebootloader.bin 0x10000 smalltalk.bin esptool.py v2.9-dev Serial port /dev/cu.SLAB_USBtoUART Connecting........_ Chip is ESP32D0WDQ5 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: bc:dd:c2:d0:23:4c Uploading stub... Running stub... Stub running... Changing baud rate to 460800 Changed. Configuring flash size... Compressed 3072 bytes to 103... Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.0 seconds (effective 2319.8 kbit/s)... Hash of data verified. Compressed 25776 bytes to 15970... Wrote 25776 bytes (15970 compressed) at 0x00001000 in 0.4 seconds (effective 562.7 kbit/s)... Hash of data verified. Compressed 950960 bytes to 601726... Wrote 950960 bytes (601726 compressed) at 0x00010000 in 14.0 seconds (effective 545.1 kbit/s)... Hash of data verified.
Leaving... Hard resetting via RTS pin... Executing action: monitor Running idf_monitor in directory /Users/n0mn0m/projects/on-aivoice-assistant/smalltalk Executing "/Users/n0mn0m/.espressif/python_env/idf4.1_py3.8_env/bin/python /Users/n0mn0m/projects/esp-idf/tools/idf_monitor.py -p /dev/cu.SLAB_USBtoUART -b 115200 --toolchain-prefix xtensa-esp32-elf- /Users/n0mn0m/projects/on-aivoice-assistant/smalltalk/build/smalltalk.elf -m '/Users/n0mn0m/.espressif/python_env/idf4.1_py3.8_env/bin/python' '/Users/n0mn0m/projects/esp-idf/tools/idf.py' '--port' '/dev/cu.SLAB_USBtoUART'"... --- idf_monitor on /dev/cu.SLAB_USBtoUART 115200 --- --- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:4 load:0x3fff0034,len:7348 load:0x40078000,len:13764 ho 0 tail 12 room 4 load:0x40080400,len:4568 0x40080400: _init at ??:?
entry 0x400806a4 I (31) boot: ESP-IDF v4.1-beta1-63-g9f024df9e 2nd stage bootloader I (31) boot: compile time 19:31:39 I (31) boot: chip revision: 1 I (35) boot_comm: chip revision: 1, min. bootloader chip revision: 0 I (42) qio_mode: Enabling default flash chip QIO I (47) boot.esp32: SPI Speed : 80MHz I (52) boot.esp32: SPI Mode : QIO I (57) boot.esp32: SPI Flash Size : 2MB I (61) boot: Enabling RNG early entropy source... I (67) boot: Partition Table: I (70) boot: ## Label Usage Type ST Offset Length I (77) boot: 0 nvs WiFi data 01 02 00009000 00006000 I (85) boot: 1 phy_init RF data 01 01 0000f000 00001000 I (92) boot: 2 factory factory app 00 00 00010000 00100000 I (100) boot: End of partition table I (104) boot_comm: chip revision: 1, min. application chip revision: 0 I (111) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x289f8 (166392) map I (169) esp_image: segment 1: paddr=0x00038a20 vaddr=0x3ffb0000 size=0x03914 ( 14612) load I (174) esp_image: segment 2: paddr=0x0003c33c vaddr=0x40080000 size=0x00404 ( 1028) load 0x40080000: _WindowOverflow4 at /Users/n0mn0m/projects/esp-idf/components/freertos/xtensa_vectors.S:1778
I (176) esp_image: segment 3: paddr=0x0003c748 vaddr=0x40080404 size=0x038d0 ( 14544) load I (190) esp_image: segment 4: paddr=0x00040020 vaddr=0x400d0020 size=0xa6224 (680484) map 0x400d0020: _stext at ??:?
I (394) esp_image: segment 5: paddr=0x000e624c vaddr=0x40083cd4 size=0x12040 ( 73792) load 0x40083cd4: bootloader_flash_gpio_config at /Users/n0mn0m/projects/esp-idf/components/bootloader_support/src/bootloader_flash_config_esp32.c:86
I (432) boot: Loaded app from partition at offset 0x10000 I (432) boot: Disabling RNG early entropy source... I (432) cpu_start: Pro cpu up. I (436) cpu_start: Application information: I (441) cpu_start: Project name: smalltalk I (446) cpu_start: App version: cbf78b2-dirty I (451) cpu_start: Compile time: Mar 28 2020 19:31:31 I (458) cpu_start: ELF file SHA256: 0049965a7b4339c3... I (464) cpu_start: ESP-IDF: v4.1-beta1-63-g9f024df9e I (470) cpu_start: Starting app cpu, entry point is 0x4008127c 0x4008127c: call_start_cpu1 at /Users/n0mn0m/projects/esp-idf/components/esp32/cpu_start.c:275
I (0) cpu_start: App cpu up. I (480) heap_init: Initializing. RAM available for dynamic allocation: I (487) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM I (493) heap_init: At 3FFBD6B8 len 00022948 (138 KiB): DRAM I (500) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM I (506) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM I (512) heap_init: At 40095D14 len 0000A2EC (40 KiB): IRAM I (518) cpu_start: Pro cpu start user code I (536) spi_flash: detected chip: generic I (536) spi_flash: flash io: qio W (536) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header. I (547) cpu_start: Starting scheduler on PRO CPU. I (0) cpu_start: Starting scheduler on APP CPU. I (673) wifi: wifi driver task: 3ffcad94, prio:23, stack:3584, core=0 I (673) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE I (673) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE I (703) wifi: wifi firmware version: 551ce8d I (703) wifi: config NVS flash: enabled I (703) wifi: config nano formating: disabled I (703) wifi: Init dynamic tx buffer num: 32 I (703) wifi: Init data frame dynamic rx buffer num: 32 I (713) wifi: Init management frame dynamic rx buffer num: 32 I (713) wifi: Init management short buffer num: 32 I (723) wifi: Init static rx buffer size: 1600 I (723) wifi: Init static rx buffer num: 10 I (733) wifi: Init dynamic rx buffer num: 32 I (823) phy: phy_version: 4180, cb3948e, Sep 12 2019, 16:39:13, 0, 0 I (823) wifi: mode : sta (bc:dd:c2:d0:23:4c) I (863) I2S: DMA Malloc info, datalen=blocksize=600, dma_buf_count=3 I (863) I2S: DMA Malloc info, datalen=blocksize=600, dma_buf_count=3 I (873) I2S: PLL_D2: Req RATE: 16000, real rate: 16025.000, BITS: 16, CLKM: 39, BCK: 8, MCLK: 4096000.000, SCLK: 512800.000000, diva: 64, divb: 4 I (943) wifi: new:<1,0>, old:<1,0>, ap:<255,255>, sta:<1,0>, prof:1 I (943) wifi: state: init -> auth (b0) I (953) wifi: state: auth -> assoc (0) I (953) wifi: state: assoc -> run (10) I (963) wifi: connected with Hallow, aid = 1, channel 1, BW20, bssid = 18:e8:29:c4:90:55 I (963) wifi: security type: 3, phy: bgn, rssi: -41 I (973) wifi: pm start, type: 1
I (983) wifi: AP's beacon interval = 102400 us, DTIM period = 2 I (993) TF_LITE_AUDIO_PROVIDER: Audio Recording started Waking up Waking up E (13593) esp-tls: couldn't get hostname for :signal.unexpectedeof.casa: E (13593) esp-tls: Failed to open new connection E (13603) TRANS_SSL: Failed to open a new connection E (13603) HTTP_CLIENT: Connection failed, sock < 0 E (13613) HTTPS_HANDLING: Error perform http request ESP_ERR_HTTP_CONNECT I (13623) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED I (13623) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED E (14013) esp-tls: couldn't get hostname for :signal.unexpectedeof.casa: E (14013) esp-tls: Failed to open new connection E (14013) TRANS_SSL: Failed to open a new connection E (14013) HTTP_CLIENT: Connection failed, sock < 0 E (14023) HTTPS_HANDLING: Error perform http request ESP_ERR_HTTP_CONNECT I (14033) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED I (14033) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED E (14913) esp-tls: couldn't get hostname for :signal.unexpectedeof.casa: E (14913) esp-tls: Failed to open new connection E (14913) TRANS_SSL: Failed to open a new connection E (14923) HTTP_CLIENT: Connection failed, sock < 0 E (14923) HTTPS_HANDLING: Error perform http request ESP_ERR_HTTP_CONNECT I (14933) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED I (14933) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED E (15213) esp-tls: couldn't get hostname for :signal.unexpectedeof.casa: E (15213) esp-tls: Failed to open new connection E (15213) TRANS_SSL: Failed to open a new connection E (15223) HTTP_CLIENT: Connection failed, sock < 0 E (15223) HTTPS_HANDLING: Error perform http request ESP_ERR_HTTP_CONNECT I (15233) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED I (15233) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED E (15513) esp-tls: couldn't get hostname for :signal.unexpectedeof.casa: E (15513) esp-tls: Failed to open new connection E (15513) TRANS_SSL: Failed to open a new connection E (15513) HTTP_CLIENT: Connection failed, sock < 0 E (15523) HTTPS_HANDLING: Error perform http request ESP_ERR_HTTP_CONNECT I (15533) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED I (15533) HTTPS_HANDLING: HTTP_EVENT_DISCONNECTED ```
main init
http call
full build project
My current thinking is it's related to using C++ and the underlying parsing that's happening. The wifi is initialized and connected, the PEM and url work testing with the C example. Appreciate any help or ideas.
submitted by Tak_Locke to esp32 [link] [comments]

Escape from Tarkov - New Player Guide!


NEW VERSION: https://www.reddit.com/EscapefromTarkov/comments/ffyynf/escape_from_tarkov_new_player_guide_20_75_pages/

Greetings, this is dumnem, also known as Theorchero, but you can call me Theo. I'm an experienced Tarkov player and I'm writing this guide to try and assist new Tarkov players learn the game, because it has one hell of a learning curve. We'll be going over a lot of different aspects of this guide, and it is going to be huge. Feel free to digest this in parts.
Additionally, this is a work in progress. I will write as much as I can in one Reddit post, but subsequent parts will be in additional comments. Google Docs Version (Note: Link is placeholder atm)
Disclaimer: I haven't played Tarkov regularly in a couple months. It's possible there has been extensive changes that I have not kept up with. If there is anything I have gotten wrong or may have omitted, please let me know.
This is Primarily directed towards Tarkov Novices. It hopefully includes everything you need to know to be able to go into a Raid equipped for success and to successfully extract with gear.
Want to play with friends? Want to have fun and learn Tarkov? Check out my discord here.


  • Added Veritas chart
  • Fixed Vaseline/Star Balm stats, lab key card.
  • Adjusted formatting slightly, spelling adjustments.
  • Added additional resource, updated old ones.

Table of Contents

  • Tarkov Overview - What is Escape from Tarkov?
  • Tarkov Resources - Useful links
  • Tarkov's Maps
  • Tarkov's Health System
  • Tarkov's Quest System and Progression
  • Tarkov's Hotkeys to Know
  • Getting Started
  • Player Scavs
  • New Player's loadouts - LL1 Traders
  • What to Loot - How to get the most money per slot
  • Stash Management - How to combat Gear Fear
  • What now?

Tarkov Overview - What is Escape from Tarkov?

Escape from Tarkov is a tactical, realistic, FPS with MMO elements developed by Battlestate Games. It is currently in closed Beta. The game features several maps in which your primary character, your PMC, goes into Raids in order to find and salvage loot and useful equipment to survive and thrive in Tarkov. Death is very punishing in Tarkov. If you die you lose everything you had on you when you die (with the exception of what's inside your Container and your melee weapon) including any equipment you brought with you or what you found inside the Raid.
Enemies can be players (PMCs) or 'Scavs' (Scavengers) that are either controlled by AI or by players. Unlike many shooters, AI enemies in Tarkov are deadly - they can and will kill you on sight.
It features beautiful and immersive environments, intricate and in-depth weapon modification system, a complex health system, attention to detail with loot placement, and options for combat. Do you want to play slow and stealthy, to avoid fights, or set up a deadly ambush on an unwary foe? Or do you prefer to raw combat, where only your quick wit, placements of shots, and tenaciousness determines who gets out alive? It's your Tarkov. You make the rules.

Tarkov Resources - Useful links

I take no credit or responsibility for any of the content in these links. To the best of my knowledge, these are updated consistently and are accurate, but user beware.

Quick-Reference Ammo Chart

Created by SirKilljoy, you can find it here. Note: As of 6/2/19, Outdated. Searching for updated file. Send if you have one!
An updated ammo chart can be found here. It's not fancy or quick reference though. Sorry!

Tarkov Wiki

Absolutely fantastic resource. You can visit them here.
It is a massive collection of everything that we players have been able to find.
They contain trades, user-created maps, lists of ammo, parts, weapons, loot, etc. If it's in the game, it's on the Wiki, somewhere.
I highly recommend opening the wiki page for the Map that you plan on raiding in.
The Lab ('Labs')

Map Keys and You

Huge collection of all the keys in the game. These are also on the wiki, but this page has them all on one page, and tries to inform the user if the key is worth keeping or using.
Check it out here.
This section is open to revision. Mention me in a thread (or in the comments below) about a resource and I'll see about adding it here.

Tarkov's Weapon Compatibility Guide

Pretty self explanatory. Also includes a Key guide and a Mod guide.
Check it out here.

HUGE Reference Bible by Veritas

Courtesy of Veritas (Send me his reddit username?), It's located here. (Open in new tab.)
Contains: Detailed information about: Ammunition, Health, Firearms, Body Armor, Helmets, Rigs & Backpacks, Labs & Quest keys.

Tarkov's Maps

Tarkov features several maps - ranging from wide, beautiful vistas to ruined factory districts, to an abandoned laboratory where illegal experiments were being conducted. It is important to learn the maps you intend to play. In order to keep your gear, you must 'extract' at one of your designated exfiltration points. Not all exfils will be active every game, and some are conditional.
To see what extracts are available to you, double tap 'O' to show raid time and your exfils. If it has a ???? it might not be open.
You can load Raids in an OFFLINE status, which allows you to explore the map or practice against AI without losing gear.
You do not keep any EXP or gear you find in the OFFLINE Raid, though.
To access OFFLINE Raids, head into a Raid normally until you see this screen.
Simply check 'Enable OFFLINE mode for this Raid' and you're good to go! You even have a choice on whether or not to add AI. You can also control how many AI enemies spawn, fewer than normal or a great deal more! You can even make Scavs fight each other. (Framerates beware.)


Gate 3 Extract
A small, fast-paced map that was primarily created for PvP. Scavs spawn in all the time. Very close quarters, shotguns and SMGs tend to dominate here. PMCs can only access one Exit (Gate 3) without the Factory Exit Key. Good place to go if you need PMC kills as action is pretty much guaranteed. It is recommend NOT to bring in a lot of gear to Factory until you are experienced.


Extract map
A fairly large map that was recently expanded. Essentially, players spawn either on 'warehouse' or 'boiler (stacks)' side. If you see a large red warehouse near you (Customs Warehouse), then you spawned on the warehouse side. If you don't, you likely spawned near Boiler side.
The location for most quests in the game. Finding geared players here is very easy, so if you are low level attempting to complete early quests (like The Bronze Pocketwatch) it's recommend to AFK in the raid for 20 mins or so, as most players will have moved out of spawns and hit the 'hot' areas already, so it's less likely to be contested, so you may grab your quest item(s) and proceed immediately to Exfil.
Contains a Scav Boss, which is a group of scavs with above-average to high-tier gear that has a chance to spawn in Dorms or Gas Station.


Woods Map with Exfil
A very large map that is mostly just a large forest, with the occasional bunker, and the Lumber Mill in the center. The Lumber Mill is the primary point of interest, as it contains a couple quest locations and is the primary location to farm Scavs, as Scavs killed on woods is the only known location to find the Arsenal Key, which is the rarest and most valuable key in the game at the moment.
Since the map is so large and open, sniper rifles with scopes usually reign king here. You will see a lot of players with Mosin rifles as they are a cheap way to train the Sniper skill (for a quest later on) and are capable of killing geared players and scavs alike.
Overall, not usually very populated. An early quest from Prapor sends you here to kill a number of Scavs. A good map to learn the game, as although the loot is not fantastic, you can get experience with how the game runs and operates while fighting AI and possibly getting lucky with a key find off a scav.


Shoreline Map, with Loot, Exfil, etc
A very large map, notorious for its FPS hit. Generally speaking, one of the better maps for loot.
The primary point of interest is the Resort, but scavs spawn there, and is primarily occupied by hatchlings (players only with hatchet, ie melee weapon) and geared players. Resort has great loot, but requires keys to access most of it.
A great map to learn though from new players as the outskirts still contains plenty of loot and combat opportunities with AI scavs. You can hit Villa, Scav Island, Weather station, Docks, etc and come out with a backpack full of valuable gear fairly easily.
Location of many quests, including a large quest chain where players are required to kill many, many, scavs on Shoreline.


Detailed map
Great, great loot area, but very complex map. Doesn't run very well on old computers. Features a mostly-binary exfil system like Shoreline, but.. kinda worse. Exfil camping is fairly common on this map. Huge map with multiple floors and many many different stores. Communication with teammates is a challenge on this map, but the map is also fantastically detailed.
This map features a lot of loot that depends on the kind of store you're in. It's a great place to farm rare barter materials which are valuable to sell on the Flea market or to use for quests. An early quest (from Ragman) sends you here to kill a large amount of Scavs. I'd recommend getting Ragman to level 2 and accepting his quest before going to Interchange, as getting this quest done can take a while as it is and you want all scav kills to count towards progress.

The Lab ('Labs')

Here's a map.
This is a very complex map, so I highly recommend you read the Wiki article and look at all the maps to get an idea of what it's like.


If you purchase insurance and lose your items on this map, doesn't matter from whom, you will not get them back.


Labs is by far the most lucrative map to play at the moment. You can easily earn several million roubles per hour by killing Raiders (Juiced-up scavs that are ONLY on Labs), looting their equipment, then running to one of the many, many extracts. Extract camping is hard to pull off and pretty much not viable on Labs.
DISCLAIMER: Labs, like much of Tarkov, is under constant development, so issues may be fixed or created without warning. Always check patch notes!


Raiders are the avatars of Death in Tarkov, clad in USEC and BEAR hats, high-end armor, and plenty of firepower to boot. Do not fight Raiders directly. They WILL kill you. Raiders are absolutely broken this patch, and are getting fixed next patch to help fix their exploits of both poor AI and how they're a little.. insane. At the moment, the only way to kill raiders is to camp a hallway, room, or door, and attract the scavs to you, headshotting them the moment they enter before they have a chance to lock onto you.
Raiders can see you through and shoot you through surfaces you cannot.
This means you have to be very careful when engaging them. They are also often equipped with very high-end ammo, meaning that most faceshields (even Killa helmets) can be useless vs a Scav who spawned with 'big boy' ammo, 7N39. They can shoot your head if it's even slightly visible. They can prone instantly, as they have no ping. If they drop without slumping over, get to cover immediately.
Typically, strategies to farm Labs (barring rushing certain rooms for static loot) involve rushing a camp-spot and baiting raiders to your location and taking them out quickly, efficiently, and with no mercy. There are many locations to camp, and since there's so many exfiltrations, it's ultimately up to personal preference.
Raiders often spawn with armor (often Troopers and Gen4s) a rig (Sniper or Ana Alpha rig, usually) and a variety helmets and weapons. Always check the ammo the raiders spawn with. If they spawn with ANYTHING other than PS (and 12 gauge) LOOT IT! You can right click their magazine and hit 'unload ammo' to get the ammo without having to grab the mags, which saves space.
BS, BT, BP, 7N39, etc can be worth several hundred roubles a round on the market. They're extremely valuable.
Additionally, Raiders spawn IFAKS, Morphine, and grenades (F-1 & Flashbangs (Zarya)) with regularity. They can also spawn with random consumables and large clumps of cash in their pockets as well. They can spawn several backpacks, most of them being rather large, if relatively uncommon.
Additionally, Raiders can have American names, breach doors, and mumble as if they are a USEC PMC because some of the Raiders are actually USECs. You will learn with experience what the Scavs will or will not say.
Experience Farming on Labs
Labs is perhaps the best place to farm experience on the current patch.
Killing a Raider with a headshot awards 1100 Experience.
This does not include any looting, inspection (searching bodies), examine, streak, or other experience.
Killing a large sequence of Raiders gives additional bonus experience in the form of Streak rewards, usually 100 bonus exp per additional kill.
Surviving the raid multiplies all of these sources of experience by 1.5x
Changes coming to Labs
Disclaimer: I am not a BSG developer or employee. This is what I have seen on this subreddit and heard elsewhere. Some might be purely rumor, but other points are confirmed by Nikita.
Labs is currently undergoing an overhaul. At the moment, you require consumable Keycards to enter Labs, which may be purchased from Therapist or bartered Mechanic in exchange for 1 Bitcoin starting at Loyalty Level II. They can also be found in drawers and jackets. Scavs can drop permanent keycards that replace most keys used in the previous iteration of labs.
The full extent of the changes coming is not known.
Remember, you can load a map in OFFLINE mode to practice against bots or to learn the map without fear of losing gear.

Tarkov's Health System

Tarkov Wiki Article
Tarkov has a very advanced health system, and while it might seem overwhelming at first, you'll get the hang of it rather quickly. It features a very wide variety of effects and injury, including hydration, energy, blood pressure, blood loss, fractures, contusion, intoxication, exhaustion, tremors and more.
Not all of the Health System is implemented yet. Expect changes!
Your character (PMC, or otherwise) has a combined Health of 435. Each of his limbs have separate health. Taking damage to a limb that reduces it to 0 'blacks' that limb. Blacked limbs are a problem. They greatly impair the activities your PMC performs, and taking damage in a blacked limb amplifies the damage by a multiplier and spreads that damage among your other non-black limbs equally. You cannot heal a blacked limb.
Notes: Bloodloss applies damage to the affected limb and can be spread like other damage to a blacked limb. Treat immediately. Also causes significant dehydration!
Losing a limb applies additional effects. Fractures also apply these effects but not the damage amplification (Except for damage if running on fractured leg.)
Dehydration is what happens when your Hydration level reaches 0. You can view your Hydration level in your gear page, at the bottom left. Becoming dehydrated is extremely bad. You take constant damage. Taking dehydration damage can kill you if you have a black chest or head.
Head/Chest: Bullet damage resulting in losing your head or chest is instant death. Note: Bloodloss resulting in your Head/Chest being black does not result in death, but any damage to them beyond that point will! A back chest will causes you to cough (much like your stomach!)
Painkillers: Prevents coughing that comes from your chest. Doesn't help otherwise.
Stomach: Massively increased rate of dehydration and energy loss. You must find liquids or exit the Raid soon. Additionally, your PMC will cough sputter loudly, attracting attention.
Painkillers: Significantly reduces the frequency and volume of the coughs.
Arms: Makes activities like searching, reloading, etc, take additional time, as well as adding a sway, reducing accuracy. Arms have a .7x damage multiplier.
Painkillers: Reduces sway, removes debuff Pain.
Legs: Blacked legs cause your PMC to stumble and be unable to run. Blacked legs have a 1x damage multiplier.
Painkillers: Allows you to walk at full speed and to run.
WARNING: Running while your legs are blacked or fractured WILL DAMAGE YOU.
Health Items
Tarkov features many health items - 'Aid' items, which can be used to restore your characters health and to fix ailments or injuries he receives as the result of combat or mishaps. The two most important health conditions to consider are bloodloss and fractures, which have both been covered above. Some food items may have ancillary effects, such as losing hydration.
Since in the current patch the only ailments to worry about are bleeding and fractures, it changes which health items are most necessary. We'll go over them below.

Health Restoration

Medical Items on Wiki
AI-2 medkit
The newb's medical kit. You receive several of these when you start Tarkov - they'll already be in your stash. Available from Level I Therapist, they are cheap and effective way of healing early in the game. They will not stop bloodloss. Because of this, you also need to bring bandages or a higher-grade medical kit.
Affectionately called 'little cheeses' by the Tarkov community. Using it takes 2 seconds, and because of how cheap it is, it's often brought in by higher level players to supplement their healing without draining their main kit (which is capable of healing bloodloss or sometimes fractures). Due to its short use time, it's often very useful during combat as you can take cover and quickly recover damage taken to a vital limb.
The newb's bloodloss solution. Available from Therapist at Level I. A better version, the Army Bandage is available at Level II, after a quest. Mostly obsolete after unlocking the Car Medical kit. Activating takes 4 seconds, and removes bloodloss to one limb.
The newb's solution to fractures. Cheap, takes five seconds to use, and takes up 1 slot. Not generally recommended to take because fractures effects can be greatly mitigated with the use of Painkillers. Available from Therapist at Level I, no quest needed.
Car Medical Kit
The newb's first real medical solution. Available LL1 as a barter (2 Duct Tape) and available for Roubles after completing Therapist's second quest. Has a larger health pool than AI-2's (220, vs AI-2's 100), and removes bloodloss. Takes up a 1x2 slot, so requires to be placed in a tactical rig in order to be used effectively. Cheap and fairly efficient, takes a standard 4 seconds to use. Rendered effectively obsolete when the Salewa is unlocked.
Good medkit for use in mid and end-game. Contains 400 total health and can remove bloodloss. Relatively expensive at 13k roubles per kit, though. Same size as the Car medical kit, so requires a tactical rig to use effectively. Because Tarkov does not currently have effects like Toxication in the game at the moment, this kit is favored by most players who go into a raid with at least a moderate level of gear.
Unlocked at Therapist Level II after completing a level 10 Prapor quest, Postman Pat Part II.
Fantastic medical kit, and is the one preferred by most players. Features 300 health and the ability to remove bloodloss and a host of other negative effects that are not yet implemented into the game. It does not, however, remove fractures. Taking up only a single slot, it is favored by players in all stages of gear, and it is recommend to carry one in your Secure Container in case of emergencies. Is available at Therapist Level II for a barter (Sugar + Sodium), and may be purchased for Roubles at Level III after completing Healthcare Privacy, Part I.
It is a fairly expensive kit, but due to its durability, its small size, and ability to remove bloodloss, it is a very common medical item used by players of all levels.
The 'big daddy' medical kit, boasting an impressive total health resource of 1800. It is also a very large kit, taking up 4 slots (2x2) - in order to be able to use this quickly, it would require specialized tactical rigs that feature a 2x2 slot. It removes all negative effects (some costing HP resource), including fractures.
Used by highly-geared players who intend on staying in raids for an extended period of time, or by players with additional Secure Container space available in case of emergencies. It is available for barter at Therapist Level II, and purchase at Therapist Level 4.

Pain Management

Using any of these items results in your character being 'On Painkillers' which allows you to sprint on fractured and blacked legs, as well as reducing effects of fractures and blacked limbs, and removing the debuff Pain. Essentially, the only difference between most of these items are the speed of use, price, availability, and duration of the effect.
Analgin Painkillers
The holy grail of pain medication. With the recent changes, "Painkillers" now have 4 total uses, not 1. The total duration is now greater than Morphine and less risk of waste. Takes a short time to use, and is available from Therapist Level 1 for both barter and Roubles.
Quick application of painkillers. Favored by some highly geared players as it has greater usability in combat then it's typical counterpart, Painkillers. Has a longer duration, but only one use. Is required for a fairly early Therapist (and a late Peacekeeper) Quest, so it is recommend to hoard 10 of them, then sell the rest unless you intend on using them. They are worth a good amount to Therapist and take up little space so they are a valuable loot item. Available from Therapist for Roubles at Level 4, after completing Healthcare Privacy, Part 3.
Basically a cheaper Morphine. One use, 260s. Not recommended over Painkillers due to its cost. No current barter for this item, so usually it's just a fairly expensive, small loot item to sell to Therapist when found.
Powerful painkiller. Lasts 600 seconds and has 12 uses. However, it is not recommended to use it as a Painkiller. It is very valuable because it cannot be purchased from Dealers, it must be found, and it is a barter component to late-game containers, the Keytool and THICC Items Case.
Powerful medical item. Cannot be purchased from dealers. Has 10 uses. Removes Pain.
Golden Star Balm
Fairly useful medical item. It can remove Pain and Contusion (not a big deal of a debuff, goes away on its own shortly) and provides a small bonus to hydration and energy. However, because Hydration is usually easy to restore (Liquids are easy to find as 'common' or 'trash' tier loot), and Energy at the moment can't run to 0 within current Raid timers, it is Recommended to just to sell to Therapist as a Loot item.
Medical Injectors are not covered here. Essentially, they are powerful but niche items with strong side effects. Most recommended use is to store them in your Secure Container and sell them either on the Flea Market or to Therapist for roubles.
To be able to Hotkey a medicine item, they must be in a tactical rig or your pockets.

Tarkov's Quest, Progression, and Experience Systems

Tarkov features a very immersive progression system where your main character (PMC) is going into raids to acquire loot - goods that can be sold for a profit to other players, to Dealers (NPC Merchants), or used to fulfill quest requirements in order to complete them and receive your rewards. Additionally, your main character will increase their prowess in a number of skills, which increases everything from how much they can run, increases the ease of which recoil can be controlled, and even how far you can throw grenades. These are referred to 'soft skills.'
Additionally, your PMC is assigned a Level. You can increase your Level by earning Experience - which is rewarded by performing numerous tasks throughout the Raid, completing quests, examining new items, killing other players and Scavs, etc. Successfully extracting from a raid will increase the experience you earn from the raid via a multiplier.
Increasing your PMC's level will allow you to complete additional quests, which increases your Reputation with certain Dealers (and may reduce your Reputation with others) allowing you access to better equipment to purchase. Additionally, completing quests will often reward you with large sums of currency and sometimes equipment, and certain quests unlock items for purchase from that dealer.
A Dealer's arsenal of available weapons, ammo, mods, medication, containers, and etc to purchase by you is determined by their Loyalty Level - or LL, for short. Certain Dealers specialize in different kinds of equipment, and they will pay different rates or straight up not buy particular items. In a future release, eventually Dealers will offer discounts to the player based off their Loyalty Level.
Article on Dealers

Increasing Loyalty Level

Increasing your Trader's loyalty level is extremely important to your progression and overall success in Tarkov. Being able to purchase better Ammo and Equipment is essential to being able to fight other players and secure their loot for your own. Owning Prepare for Escape and Edge of Darkness (EoD) editions of Escape from Tarkov will increase your starting Reputations with Traders. It is unclear if this change will stay after the game's full release.
Typically though, you need three things to increase your Trader's level.
  • Reputation
This is accomplished via quests. Completing a quest will reward you with an increase in the quest givers' reputation, sometimes an increase in another trader's reputation, and sometimes will reduce the Reputation of another trader. Not all Traders need a certain level of Reputation to increase their loyalty Level to II. Peacekeeper and Ragman, for example, just need you to spend a certain amount of money with them.
  • Character Level and Experience Gain
The primary gate behind your trade level (and thus your overall economy and gear leverage) is your Character Level. You increase this by gaining Experience. The easiest way to gain experience is to Loot high value areas, fight players, and kill scavs while completing quests. Generally speaking, your level will advance as you play the game at a moderate pace. One way to farm experience though is to avoid looting all-together and just focus on killing a large number of scavs from a safe distance, after learning where they tend to spawn on any given map. This patch however, labs is fantastic for experience gain. (See above.) Another strategy (albeit one that takes longer) is to loot everything, then drop what you don't want. You gain experience for finding items and picking them up, so picking them up to drop them is technically the best way to gain the most exp per kill.
You can receive additional bonuses to Experience earned. Successfully extracting will increase your experience by a multiplier, typically 1.5x the experience gained during the raid, escaping also rewards a 300 exp Escape bonus which is added to your total before the multiplier is applied.
You can also receive experience bonuses for Exploration, so visiting different parts of the map will reward you with sums of experience, usually 100 to 300 or so. Killing multiple enemies in a row will reward you with Streaks, whose rewards increase as you get more kills. Getting a kill with a Headshot also significantly improves experience gain from kills. You also receive a (very small) bonus when you survive consecutive raids.
Note: Completing a Raid too early (via extraction) will cause you to receive a Run-Through status, which reduces experience earned in that raid by 50%.
Most Quests require you to be a certain level to unlock, and upon completion rewards you with a lot of exp and usually the ability to purchase specific equipment.
  • Money Spent
This is pretty self-explanatory. As mentioned above, Peacekeeper and Ragman can be increased easily just be selling and buying from them. If you need to artifically inflate the amount spent, a good idea is to purchase a large amount of cheap items from them and sell them back to the Trader. You still take a significant loss, usually around 50-60% per purchase, but since the money spent counts both items sold to the vendor and purchases, you get about 140-150% credit per item at about half the cost.

Selling Efficiency

Not all dealers pay the same for certain items. It is important to note that a lot of this is my personal experience, and prices can fluctuate as the Developers may change them for any reason. Use your own common sense and check various dealers before selling particularly lucrative items.


Sells AKs, Magazines, many different Ammo types, Grenades, and weapon modifications. I don't tend to sell to him very often, as he doesn't pay the highest for any items that I have personally seen and because you tend to buy most Ammo and mags from him it's not a particular issue to level him up with money spent.


Sells medical supplies, food and drink, and storage cases, which are items that effectively increase the size of your stash because they have more space inside than they take up. Most storage items are restricted to certain item types. Pays most for items like Keys, Statues, Rolers, Bitcoin, etc. Many of these items should be sold on the market instead of to her, but often times it's not worth the hassle.


Pays least for items, sells items for more than other Dealers. Items other players have sold will appear here. Only sell items to Fence that other dealers will not take! Basically a placeholder for an expanded Market.


Sells various weapons, mods, ammo, Euros, and containers. Pays most for items like Armor, backpacks, headgear, facemasks, flashlights, sights, etc. It is important to note, that Skier will not buy Weapons or most Mods. That means for things like flashlights, you have to take the flashlights/sights off the mount or rail in order for him to buy them, but he pays the best.


Deals entirely in Western equipment, UN armor, helmets, etc. Will buy most items, but will pay USD for them. Deals entirely in USD. One good way to get his money spent requirement is just to buy USD, which is used for a later quest from Skier, which unlocks his quest chain. He has a lot of good deals, experiment for yourself. At the moment his MP5 for 10 'bars' knives (scav knives) is an exceptionally good deal and easy to accomplish for new players.


Sells mostly completed weapons with various modifications and unique names, and mods. Sells magazines and some ammo. Offers containers as you progress. His quests are easy to complete, but often are money dumps in exchange for large sums of EXP more than anything else. Pays the most for modifications (except for sights and suppressors) and stripped guns.


Sells backpacks, armor, tactical vests, and helmets mostly. Offers aesthetic clothing. Can obtain LL2 by just purchasing from him, does not require reputation. In fact, his first quest tasks you with that very objective. As far as I can see, he does not pay the most for any items in particular. But he is a very useful merchant once you have him at level 2. He will sell Scav Backpacks, which are an extremely efficient backpack to use as it's fairly large but very cheap.
Rule of Thumb for selling items at most value
Weapons: Strip the weapon! Take apart ALL pieces of it (including gas tubes, separating flashlights from ring mounts, etc), sell what you can to Skier. For the rest, sell to Mechanic.
Keys, Food, Medical Items, Statues, Bitcoin, Rolers, etc: Therapist or the Market. For items like this, ALWAYS check the Market first! A lot of these kinds of items are in valuable trades or are required for quests; this means that other players are often willing to pay more for them, above trader prices.

Continued below in a comment, due to character limit.

submitted by dumnem to EscapefromTarkov [link] [comments]

MAME 0.208

MAME 0.208

Today we’re proud to bring you MAME 0.208. There are some big improvements to SunPlus SPG240/SPG280 audio emulation. Not only does this greatly improve the enjoyability of the JAKKS Pacific TV games, it’s also timed perfectly for the addition of the Fisher-Price I Can Play Piano music teaching system. That’s not the only newly supported music system this month: we’ve added Jumping Popira, and Popira 2 has been promoted to working. Continuing with the audio theme, moralrecordings fixed BSMT 2000 4-bit ADPCM sample playback, cam900 added support for the VRC7 as a separate device with its unique instrument patches, and schnitzeltony improved Atari POKEY performance substantially. Newly supported TV games include Disney, Disney and Friends, Justice League and SpongeBob SquarePants – The Fry Cook Games from JAKKS Pacific, and XaviX titles Geigeki Go Go Shooting, Gururin World and MX Dirt Rebel. You’ll be able to enjoy the XaviX-based games even more now with improvements to the colour palette.
The Nintendo Game & Watch progress has continued with the addition of Balloon Fight (new wide screen), Fire Attack, Octopus, Parachute and Turtle Bridge. You’ll notice some big software list updates this month. The TOSEC Spectrum Plus 3 disk images have been imported, Spectrum Opus support has been added with software from World of Spectrum, and SDX floppy controller support has been added to the Memotech MTX along with a corresponding software list. The PlayStation, PC-98 and Saturn software lists have been updated with testing results and new dumps, original Apple II disk images have been added as they’ve been made available, another batch of Japanese e-kara cartridges has landed, and coverage of Spanish V.Smile releases has been improved. Speaking of software, AmatCoder has fixed a number of issues affecting Amstrad CPC software. The long-neglected Bally Astrocade home system has had tape and lightpen support added in this release.
On the arcade side, we’ve added Atari’s TTL-based Rebound, early English releases of Karate Champ, an earlier version of Nihon System’s Omega, and world releases of DJ Boy and Gemini Wing. In changes you probably won’t notice, we’ve switched the toolchain used for building official Windows binary releases from GCC 7 to GCC 8, and a new tools package has been made available.
As always, you can get the source and Windows binary packages from the download page.

MAMETesters Bugs Fixed

New working machines

New working clones

Machines promoted to working

Clones promoted to working

New machines marked as NOT_WORKING

New clones marked as NOT_WORKING

New working software list additions

Software list items promoted to working

New NOT_WORKING software list additions

Source Changes

submitted by cuavas to emulation [link] [comments]

Fun Times with PDQ deploy Part 2

Fun Times with PDQ deploy Part 2 continued from https://www.reddit.com/pdq/comments/digrx3/fun_times_with_pdq_deploy_part_1/
CCC Stars Wars A new hope
Step 1 - Create a copy file step in pdq to copy putty.exe to the C:\ drive on host computer
Step 2 - Create a command step in pdq with C:\putty.exe telnet://towel.blinkenlights.nl/
DDD Rick Rolling Ascii style - by Lee Holmes for pdq - I can understand your hesitation to run it, but I did and I lived =)
  1. Create a power shell script from the below neverGonna.
  2. Create a copy step in pdq with Copy neverGonna.ps1 to host C:\
  3. create a comman step in pdq with Command: Powershell.exe -File C:\neverGonna.ps1
Make sure properties and each step is set under the options tab to run as "Logged on User"
Make sure under conditions powershell5 is selected and logged on state is set to only if user is logged on.
neverGonna script - copy to a .ps1 file/create a powershell script

# PowerShell + HTML5 prototype. Needs audio. Run: iex (New-Object Net.WebClient).DownloadString("http://bit.ly/e0Mw9w") if($host.Name -ne "ServerRemoteHost") { Start-Process powershell -ArgumentList '-noprofile -noexit -command iex (New-Object Net.WebClient).DownloadString(''http://bit.ly/e0Mw9w'')' return } $data = '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' ## Decompress the frames, which declare an array of strings $binaryData = [System.Convert]::FromBase64String($data) $ms = New-Object System.IO.MemoryStream $ms.Write($binaryData, 0, $binaryData.Length) $ms.Seek(0,0) | Out-Null $cs = New-Object System.IO.Compression.GZipStream($ms, [System.IO.Compression.CompressionMode]"Decompress") $sr = New-Object System.IO.StreamReader($cs) $structure = $sr.ReadToEnd() iex $structure ## Go through the frames, and re-scale them so that they have the ## proper aspect ratio in the console for($counter = 0; $counter -lt $frames.Count; $counter++) { $frame = $frames[$counter] $expansion = (@('$1') + (('$2','$3','$2','$3') | Get-Random -Count 4 | Sort)) -join '' $frame = (($frame -split "`t") -replace '(.)(.)(.)',$expansion) -join "`t" $frames[$counter] = $frame } ## Prepare the screen $counter = 0 $maxCounter = $frames.Count - 1 $host.UI.RawUI.BackgroundColor = "White" $host.UI.RawUI.ForegroundColor = "Black" try { $host.UI.RawUI.WindowSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} try { $host.UI.RawUI.BufferSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} try { $host.UI.RawUI.WindowSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} try { $host.UI.RawUI.BufferSize = New-Object System.Management.Automation.Host.Size 83,45 } catch {} ## Open the background song $script = @' $player = New-Object -ComObject 'MediaPlayer.MediaPlayer' $player.Open("http://www.leeholmes.com/projects/ps_html5/background.mp3") $player '@ ## ... in a background MTA-threaded PowerShell because ## the MediaPlayer COM object doesn't like STA $runspace = [RunspaceFactory]::CreateRunspace() $runspace.ApartmentState = "MTA" $bgPowerShell = [PowerShell]::Create() $bgPowerShell.Runspace = $runspace $runspace.Open() $player = @($bgPowerShell.AddScript($script).Invoke())[0] try { ## Wait for it to buffer (or error out) while($true) { Start-Sleep -m 500 if($player.HasError -or ($player.ReadyState -eq 4)) { break } } Start-Sleep -m 1600 Clear-Host $host.UI.RawUI.CursorPosition = New-Object System.Management.Automation.Host.Coordinates ` 0,([Console]::WindowHeight - 1) Write-Host -NoNewLine 'Q or ESC to Quit' ## Loop through the frames and display them [Console]::TreatControlCAsInput = $true while($true) { if([Console]::KeyAvailable) { $key = [Console]::ReadKey() if(($key.Key -eq 'Escape') -or ($key.Key -eq 'Q') -or ($key.Key -eq 'C')) { break } } if((-not $player.HasError) -and ($player.PlayState -eq 0)) { break } $host.UI.RawUI.CursorPosition = New-Object System.Management.Automation.Host.Coordinates 0,0 Write-Host (($frames[$counter] -split "`t") -join "`r`n") Start-Sleep -m 100 $counter = ($counter + 1) % $maxCounter } } finally { ## Clean up, display exit screen Clear-Host $frames[-1] -split "`t" "`n" " Happy Scripting from PowerShell..." " and Rick ASCII!" "`n`n`n" $player.Stop() $bgPowerShell.Dispose() } 
submitted by dominatingslash to pdq [link] [comments]

Deeds, Loot Grinding, Content Flow, and the End-Game Problem.

Thought I'd start contributing to this community outside of my stream:
There’s a been a slight uptick in discussion of deeds and their place in a game ranging from their replacement with other options, changing their drop frequency, or their outright removal from the game.
I dislike the solutions and suggestions to the deed “problem” that have been posted here recently because they’re all binary in nature. Either take or give something, decrease or increase value, changing the reward the player gets rather than how they go about getting it.
This will be a long-winded post, here are my two driving points:
Deeds are a symptom of a larger problem: until Fortunes of War the only challenge for experienced players. To seek a greater challenge with greater rewards (either loot or bragging rights) players must pursue deeds, Twitch Mode, or play Onslaught/Deathwish. Vermintide 2 does not have a sustainable end-game due to lack of accessibility to content and rewards to support it.
Deeds currently sit in a place where they provide an end-game challenge to players but are not accessible on demand due to being found from loot boxes. This “solution” also then produces another problem: it replaces potential loot rewards, as well as gates itself through RNG, creating scarcity on two separate but very related fronts.
It is acceptable that loot and rewards are gated behind aspects of RNG, it is unacceptable that content should be so.
Other people have already mentioned is that deeds are difficult to the point where the risk of wiping offsets the potential rewards, which is often a low-quality box. This again brings up another issue that modifiers are horribly imbalanced. I am not aware whether Fatshark monitors stats for all their games, but I’d be willing to bet that there or more losses/wipes on “Back to basics” deeds that yield a single Merchant’s Vault than a Nurgle’s Rot + Sudden Death + Send in the Wave (horde?) that yields an Emperor’s Vault. So why ever run Btb? I know I don’t.
Let me summarize what my main opinions are so far:
  1. Problem: Vermintide 2 is lacking an accessible end-game with meaningful loot rewards.
  2. Deeds are the most widely accessible and controversial:
  1. Increased change of wiping
  2. Increased time of run
  3. Balance issues regarding modifier to chest level is off.
The solution then is to give players an on-demand way to increase difficulty beyond what Vermintide 2’s current scope is as well as increase potential rewards if the player(s) find success… VICTORY!

Currently we have plenty of suggestions with how to change the deed system as I’ve mentioned earlier. I would argue the current deed system while greatly flawed, does not need to be changed (I’d like modifier to chest levels rebalanced though) if an entirely new system was introduced to coexist with it:
An additional (does not replace original deeds) progression-based reward system utilizing the modifier system found in deeds on a timed gated.
Olyssa can create illusions for the Ubersreik five (or four... doesn't matter) to go back and hone their skills (or insert any more lore friendly motivation here), but it’s imperfect and erratic… maybe even chaotic (heh).
Unlocked after 100 wins for their respective difficulty. Similar to the current achievements, wins on higher difficulties also apply to the easier difficulty unlocks:
Each week there is a mission available at each difficulty level starting with 1 modifier that is valued at 1-2 pts (see below), level is randomized and unknown to the players until they begin.
After completion the mission is upgraded:
If running with other players the game uses the lowest level mission, and completion upgrades that mission only until all players are on the same level. (This is to prevent one person from maxing out his mission, inviting other people, beating it, and doing the same thing with each individual player).
You have three attempts per tiechest level to advance to the next level. Failing three times gives you the current chest level and you are done progressing. You can still participate in other people’s matches to help them progress with their own chest if the person queueing the mission has attempts left on theirs. Loss/failure counter is reset once you complete the current tier and advance to the next. Example: you fail twice, then win. Your loss counter resets to 0 at the next progression tier.
Modifiers are global: everyone has the same modifier(s) at each tier of mission.
Modifier re-balancing: also applicable to deeds (below are examples for my proposal, actual values TBD):
  1. 1-2 pts = Soldier’s
  2. 3-4 pts = General’s
  3. 5 pts = Emperor’s
  4. 6 pts = 2x Emperor’s
The rebalancing of modifiers should be structured so that once you’ve completed 3 wins you should be sitting on a 2x Emperor’s mission.
If you complete every tier of mission without a single wipe in the entire process (perfect streak) you get a bonus Emperor’s Vault with a guaranteed red item that is tied to the character you completed the final run on, but it can be a dupe.
The above proposal I think covers a large amount of what Vermintide 2 is missing in regard to an accessible end-game loop.
Looping back to my thoughts on deeds: another way to add value to them is to make it more enticing to run them vs normal runs by having them grant double XP on victory, stacking with double XP weekends.
I think keeping deeds around even after introducing a new system would be good with the balancing changes I mentioned and the XP increase. If you fail at your weekly you can still run deeds if you desire, I do not think there’s any problem to having both exist as means to acquire loot.
TLDR: Currently VT2 only has deeds if players want to increase their potential rewards per run; but are gated behind RNG, and reward RNG. Proposed new system removes RNG on the front end by providing a weekly deed (must be unlocked) that scales in risk vs. reward with a guaranteed payout at the highest risk if successful. Also re-balances modifiers and their rewards across the board.
Please let me know your thoughts, it's not perfect and I'm sure there's plenty of tuning of actual values. I'm passionate about the end-game for Vermintide 2 so it can maintain a healthy player base for a few years to come. I’m open to all discussion.
Thanks for reading!
EDIT: Clarifying some points.
EDIT 2: Proofreading.
submitted by CosmodeTwitch to Vermintide [link] [comments]

Binary options Free strategy that works - from 100 to ... best Binary Option Robot 100% Automated Trading Software ... BT100 Trading System Strategy Explained Binary Options 100% Win Strategy - $50 to $7K - Binary Options Newest ... BT100 Trading System Strategy Explained Binary Options Best way to Make Money with forex  100$ a Day - Binary ... Binary Options Strategy 2020  100% WIN GUARANTEED ... Meta 385 reais = 100 dólares em 15 minutos / Bot Binary ... BEST FRACTAL MAGIC 100% TRADE WITHOUT LOSS  BINARY ... 2020 Best Binary Option Strategy - 100% Wining Prediction ...

BT100 Trading System Strategy Explained Binary Options If you are interested to learn how to trade binary options with a mentor who is doing live session everyday from monday to friday, then contact me. My contact info are below. My Blog if you... ***** #1BINARY BROKER, WITHDRAW-SAME DAY, BONUS-100%, COMPLETE ONLY 16 TIMES VOLUME, PAYOUT UP TO 1500%, ONE WEEK FREE LADDER SIGNALS, MAKE UP TO ... under no circumstances shall we have any liability to any person or entity for (a) any loss or damage in whole or part caused by, resulting from, or relating to any transactions related to binary options or (b) any direct, indirect, special, consequential or incidental damages whatsoever.bid-topia.com is a brand owned and operated by bt option, a financial services company registered in vfsc ... Binary Options Edge doesn't retain responsibility for any trading losses you might face as a result of using the data hosted on this site. The data and quotes contained in this website are not provided by exchanges but rather by market makers. So prices may be different from exchange prices and may not be accurate to real time trading prices. They are supplied as a guide to trading rather than ... Binary system M1 and M5 is high/low trend momentum strategy. This trading system is also good for trading without binary options: scalping, intraday and swing.Time Frame 1 min or higher. before deciding to trade, you should become aware of all the risks associated with binary options trading, and seek advice from an independent and suitably licensed financial advisor. under no circumstances shall we have any liability to any person or entity for (a) any loss or damage in whole or part caused by, resulting from, or relating to any transactions related to fx trading or (b) any ... Thank you for your support to BT Option. We heard a lot of request about readjusting the payout rates throughout the years. We are so excited to bring the good news of payout rate changing in coming June! The very frequently traded Option-On-Demand, will have a fix 100% payout rate. Current Payout rate settings High-Low: 70%~100% OOD: 80% Fixed After amendment High-Low: 90%~100% OOD ... Are stock options taxable for social security best technical indicators for binary option 4 aes macd Forex diamond discount Forex market 24 hours Cynthias breakout trend trading options system download Binary options can explained you rich Bollinger bands cross indicator Forex panasonic in Panasonic candlesticks trading Using bollinger bands for scalping. Bt options system The main trend ...

[index] [19429] [22726] [6300] [8554] [3949] [9051] [12320] [8460] [22495] [23084]

Binary options Free strategy that works - from 100 to ...

BEST FRACTAL MAGIC 100% TRADE WITHOUT LOSS BINARY OPTION STRATEGY 2020 This channel BINARY OPTIONS UKA discusses binary options trading which is very popu... open a free account now: http://bit.ly/18EKjqK with virtuall money after you sign in: http://bit.ly/18EKjqK weekly options time decay weekly options strategi... Tap to unmute. If playback doesn't begin shortly, try restarting your device. You're signed out. Videos you watch may be added to the TV's watch history and influence TV recommendations. To avoid... The road to success through trading IQ option Best Bot Reviews Iq Option 2020 ,We make videos using this softwhere bot which aims to make it easier for you t... Keep subscribing I will share all paid and free systems Best way to Make Money with forex 100$ a Day - Binary options trading strategy Tradadex DOWLOAD:... 200% Deposit Bonus ExpertOption Link : https://bit.ly/2Lq3NUt -----... best Binary Option Robot 100% Automated Trading Software : http://tinyurl.com/go2AutoBinarySignals1 ---- best Binary Option Robot 100% Automated Trading Soft... WhatsApp: 13996907849 Instagram mau.joseph email. [email protected] . . . . . . . . . Como aumentar sua banca na Binary, com essa estratégia super simpl... The road to success through trading IQ option Best Bot Reviews Iq Option 2020 ,We make videos using this softwhere bot which aims to make it easier for you t... If you are interested to learn how to trade binary options with a mentor who is doing live session everyday from monday to friday, then contact me. My contact info are below. My Blog if you want ...